6

我认为在合并或重新设置分支之前,在一个分支上创建的文件不会出现在任何其他分支中?

例子:

我有两个分支:

  1. 掌握
  2. new_contact_page

我检查了new_contact_page分支。

$ git checkout new_contact_page

然后我创建一个新文件。

$ vi contact_page.html

在不执行任何 Git 命令的情况下,我切换回我的Master分支。

$ git checkout master

然后我看到这个contact_page.html 文件也在我的Master分支中。

$ ls   (contact_page.html shows up in the list!)

该文件不应该只存在于new_contact_page分支中吗?

4

2 回答 2

10

Git 永远不会触及任何实际上不在您的存储库中的文件。(未跟踪的文件)

您需要先将文件git addgit commit进入一个分支)。

于 2012-09-09T18:21:56.453 回答
1

这是了解索引(或暂存区)的重要之处。
只要您不暂存(git add)文件,它们就会保持“未跟踪”(或“私有”),并且不会被“git checkout”修改。

这与引用跟踪文件(以前在本地 Git 存储库中提交)的“未暂存”不同,其中本地修改尚未添加到索引中。

您可以在“您本可以发明 git(也许您已经发明了!) ”中阅读更多内容

于 2012-09-10T06:39:17.030 回答