Git奇怪,分支之间有文件夹

Git奇怪,分支之间有文件夹,git,version-control,git-branch,Git,Version Control,Git Branch,我正在使用git,对使用分支仍然相当陌生,我遇到了一个非常奇怪的问题。老实说,我不知道发生了什么事 我正在创建一个git回购,然后向其中添加自述,并提交更改 git init git touch README git add README git commit -m 'add readme' 从那里我现在有了一个主分支。我有: git branch development git checkout development 从那里我添加了3个文件夹的文件,因为我第一次将一个旧项目添加到源代码管

我正在使用git,对使用分支仍然相当陌生,我遇到了一个非常奇怪的问题。老实说,我不知道发生了什么事

我正在创建一个git回购,然后向其中添加自述,并提交更改

git init
git touch README
git add README
git commit -m 'add readme'
从那里我现在有了一个主分支。我有:

git branch development
git checkout development
从那里我添加了3个文件夹的文件,因为我第一次将一个旧项目添加到源代码管理中。文件夹包括:

Theme-arm 
FrontEnd 
ControlPanel
我的目标是将这些文件添加到开发分支,而不是其他分支。那么我会的

git add *
git commit -m 'initial commmit'
这一切都很好。但是当我切换回master时

git checkout master
问题是,导致我困惑的是,控制面板和前端,而不是主题臂现在也在master中。我还不想让他们在那里


我是做错了什么,还是误解了git的工作原理?

检查控制面板和前端,查找在开发分支中执行git add*时未置于版本控制之下的文件(您可以只检查主分支中这些目录的内容).

澄清一下:如果您有未跟踪的文件(包括被忽略的文件,可能是构建产品),那么在切换分支时,它们将被单独保留。当您签出主分支时,文件就在那里,这并不意味着它们实际上在主分支上被跟踪。尝试
git show master:ControlPanel
查看master实际跟踪的是什么-也可以简单地
git status
查看是否有未跟踪的文件-您可能会在该部分下看到
ControlPanel/
。这是部分答案,因此我将其标记为答案并完成我的结论,这是一个被删除的答案。基本上,因为文件夹中没有任何文件,所以它不会自动跟踪它们,因为git没有机架式文件夹。如果我的文件夹里有什么东西,它就会跟踪那些文件,文件夹就会“消失”。最后,当我将开发分支合并到主分支中,并且在这两种情况下,那些空文件夹都在那里时,这就成了一个没有意义的问题。我就是说不出有什么区别。你为什么说它们在主分支中?当您签出主分支时,它们位于工作目录中这一事实并不意味着它们由主分支跟踪。尝试“git status”,您可能会看到它们被列为未跟踪。