git checkout不会切换内容

时间:2014-04-05 11:54:06

标签: git version-control

在默认的master分支中,我使用

创建了另一个分支division_feature
git branch division_feature

之后我转到了这个新的分支。

git checkout division_feature

我的工作分支设置为division_feature,我创建了一个名为division_data的文件夹。我添加并将此文件夹提交到分支。

git add .
git commit -m "Added a branch specific folder"

根据官方文档,现在只有我的division_feature分支在我的分支中应该有这个文件夹。但是当我将我的存储库切换回master时,division_data目录中也存在master目录。

git checkout master
ls

division_data目录在那里我认为不应该发生,因为git documentation清楚地说。

  

那个命令做了两件事。它将HEAD指针移回指向主分支,并将工作目录中的文件恢复为主控指向的快照。

你能指导我出错的地方吗?

2 个答案:

答案 0 :(得分:3)

您没有添加该文件夹,因为它是一个空文件夹。

它仍然是私人数据(未版本化),这就是您在结帐第一个分支时看到它的原因。

您必须在该文件夹中添加至少一个文件,以便在一个分支中对所述文件进行版本控制,而在另一个分支中不可见(如“How do I add an empty directory to a git repository”中所示)。

答案 1 :(得分:0)

要创建新分支,我使用“master”分支中的以下命令:

git checkout -b division_feature

git add .

要验证是否添加了所有文件,请尝试:

git status

然后:

git commit -m "Added a branch specific folder"

git checkout master