什么时候使用.git / info / exclude代替.gitignore排除文件?
我对使用.git/info/exclude
和.gitignore
来排除文件的优点和缺点感到困惑。
他们都是在仓库/项目的水平,所以他们有什么不同,我们应该什么时候使用.git/info/exclude
?
.gitignore
的优点是,它可以被检入到存储库本身,不像.git/info/exclude
。 另一个优点是可以有多个.gitignore
文件,每个目录/子目录中有一个用于特定于目录的忽略规则,与.git/info/exclude
。
所以, .gitignore
可以在仓库的所有克隆中使用。 因此,在大团队中,所有人都忽略了相同types的文件Example *.db
, *.log
。 由于多个.gitignore
,你可以有更具体的忽略规则。
.git/info/exclude
仅适用于单个克隆,因此某人在其克隆中忽略的内容在其他人的克隆中不可用。 例如,如果有人使用Eclipse
进行开发,那么开发人员可以将.build
文件夹添加到.git/info/exclude
因为其他开发人员可能不使用Eclipse。
一般来说,文件/忽略必须被忽略的规则应该放在.gitignore
,否则你只想在本地克隆上忽略的文件应该放到.git/info/exclude
Googlesearch: 3种排除文件的方法
-
.gitignore
被应用到repo的每一个克隆(它作为一个版本化的文件来), -
.git/info/exclude
仅适用于您的本地版本库。
只是为了提供我们(真实世界)的经验:当我们需要在每个开发环境中定制一些configuration文件时,我们开始使用.git / info / exclude,但是仍然希望源代码在repo中维护,并且可供其他开发人员使用。
这样,本地文件,一旦克隆和修改,可以从提交中排除,而不会影响回购协议中的原始文件,但不一定在回购中被忽略。