.gitignore文件在哪里?


357

.gitignore文件是否属于某个地方的.git文件夹结构或主要源文件中的文件?


20
您可以在项目的每个目录中都有一个.gitignore。但是,最佳实践是将单个.gitignore文件放在项目根目录下,并将所有要忽略的文件放入其中。
Pavan Gupta 2014年

我-1是您接受错误的答案。
亚伦·霍尔

@AaronHall-切换。...一段时间未重新访问....
mishaF '16

Answers:


428

将.gitignore放在工作目录中。如果将其放在.git(存储库)目录中,则它不起作用。

$ ls -1d .git*
.git
.gitignore

20
这是实际答案。对您理解问题有帮助:)
Mario SE

15
海事组织这是一个模棱两可的答案。工作目录中的哪里?根源在哪里?在哪里
卡尔斯·阿尔科里亚

6
@CarlesAlcolea,答案是说您可以将.gitignore文件放置在工作目录中的任何位置,即您的代码所在的任何文件夹中。话虽如此,最佳做法是将.gitignore文件放在根目录中。这意味着一个.gitignore文件代表一个完整的仓库。这样可以更有效地管理被忽略的文件。
安迪

10
我需要进一步的解释。如果.gitignore放在子目录中会发生什么?它只是规范子目录及其分支吗?是否可能在不同的子目录中有多个.gitignore?子目录中具有不同规则的.gitignores是否会在父目录的.gitignores上层叠?
Behrooz Karjoo '18年

72

如其他答案所述,您可以将其放置.gitignore在Git存储库中的任何目录中。但是,如果需要私有版本的.gitignore,可以将规则添加到.git/info/exclude文件中。


4
另外,core.excludesfile(请参阅git-config(1))指定一个文件,其中包含您的个人排除模式(您最喜欢的“临时文件”命名模式,编辑器的备份/临时文件等)。因此,请避免在跟踪.gitignore文件中放入“个人模式” 。
克里斯·约翰森

2
这个答案的私有部分非常有帮助,因为我对项目进行了一些修改,这些修改不属于签入.gitignore文件。
OregonGhost 2012年

57

您可以将.gitignore放置在git中的任何目录中。

它通常用作文件夹中的占位符文件,因为git通常不跟踪文件夹。


7
为什么允许将其放置在任何地方?git为何不感到困惑?
Charlie Parker 2015年

3
所以.gitignore文件可以放在 .git目录本身中,可以吗?(这是最初的问题)。这有什么目的?
bacar


8

如果要全局执行此操作,则可以使用git将搜索的默认路径。只需将其放在路径中名为“ ignore”的文件中~/.config/git

(您的文件,以便完整路径是:~/.config/git/ignore


3

如果尚未在文件夹项目中创建全局.gitignore,也可能直接在〜路径中找到它。您的所有.git项目都会考虑使用此文件。


0

另外,如果您在Github上创建了一个新帐户,则可以选择添加.gitignore,它将在您工作地点的正确/标准位置自动设置。您不必一开始就在其中添加任何内容,只需随时更改内容即可。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.