这是我的问题(通过示例步骤):
为什么foo.txt出现在branchA中而不像hello.txt那样被“隐藏”?
从我的角度来看,这是一个很大的烦恼,似乎是一个错误/功能请求,但Git是否设计为这样做?我很惊讶地发现没有其他人抱怨这个。
答案 0 :(得分:4)
这不是一个错误。要了解它是如何工作的,你需要了解一些事情。
.gitignore
未在全球范围内“自动”应用。你需要提交它。commit
该文件,或者stash
它。此外,此问题之前曾被问过,但我不会责怪你没有在搜索中找到它。 Working on two unrelated files in separate git branches
答案 1 :(得分:1)
foo.txt没有出现在branchA中,它只是不再被忽略,因为当你检出branchA时,对.gitignore的更改(我假设你将这些更改提交给branchB)会丢失。 foo.txt只是一个未跟踪的文件。切换到branchA时foo.txt“消失”表示您希望从工作目录中删除该文件。这与忽略文件非常不同。
您可以指定影响整个存储库的忽略模式,无论您使用$ GIT_DIR / info / exclude文件检出了哪个分支。这对您的存储库是本地的,因此忽略此文件中指定的模式将不会传播到其他存储库。见gitignore(5)。
答案 2 :(得分:0)
快速回答: