当我运行git status
时,.gitignore列在未跟踪文件下。如何防止它被列出?
.gitignore的内容:
images/builder/
答案 0 :(得分:12)
您可以将.gitignore
添加到.gitignore
文件中,但您可能只想提交它,因为您的所有团队成员(如果有其他人)可能会拥有相同的文件列于.gitignore
。
答案 1 :(得分:5)
为了澄清别人所说的内容,有三种类型的东西被排除在外,git对每个类别使用不同的排除文件:
项目的每个人都希望排除 - 例如*.o
,生成的可执行文件的名称,以及您不想签入的其他生成生成的文件。
对于这种情况,您在项目目录中使用.gitignore
(正如您所做的那样)。由于您希望每个参与项目的人都共享这些排除项,因此您应该使用.gitignore
添加这些git add
文件并将其作为源文件提交。
您个人想要为所有项目排除的东西,但是在同一项目上工作的其他人可能不会。例如,我使用Emacs编辑器创建备份文件,如Foo.~1~
,这是我个人排除的所有git签出
对于这种情况,您使用“个人”忽略文件,通常在您的主目录中称为~/.gitignore
;该文件的名称实际上被设置为全局git参数,例如,您可以这样做:
git config --global core.excludesfile ~/.gitignore
[因为这是一个全局设置,你只需要做一次。]
因此,对于我的Emacs备份文件,我向*~
添加了~/.gitignore
这样的模式。
您想要在特定工作树中排除“本地”的东西,但可能不会用于其他工作树。
对于这种情况,您应该将排除条目添加到.git/info/exclude
文件中。由于此文件位于magic .git
目录下,因此status命令永远不会将其显示为未跟踪的文件(并且您无法添加它)。
Git一起使用所有这些排除文件来决定排除的内容。
答案 2 :(得分:2)
提交文件。
然后它会离开清单。
(我最初发现这个令人困惑。)
您仍然可以编辑它以便将来添加更多项目
然后再次提交忽略它们
答案 3 :(得分:2)
.gitignore
应该是您代码的一部分。你肯定不想排除,因为这是告诉你的队友(或你自己在另一台电脑)不应该提交哪些文件的方式