Answers:
的优点.gitignore
是,可以将其检入存储库本身.git/info/exclude
。另一个优点是,您可以有多个.gitignore
文件,每个目录/子目录中都有一个文件,用于目录特定的忽略规则,与不同.git/info/exclude
。
因此,.gitignore
可在存储库的所有克隆中使用。因此,在大型团队所有的人都忽略了同一种文件实例的 *.db
,*.log
。而且由于有多个,您可以有更具体的忽略规则.gitignore
。
.git/info/exclude
仅适用于单个克隆,因此一个人在其克隆中忽略的内容在其他人的克隆中不可用。例如,如果某人Eclipse
用于开发,则该开发人员向其中添加.build
文件夹可能很有意义,.git/info/exclude
因为其他开发人员可能未使用Eclipse。
一般而言,必须普遍忽略的文件/忽略规则应该进入.gitignore
,否则,您只想在本地克隆上忽略的文件应该进入.git/info/exclude
~/.gitignore
在您的上述评论中输入哪个具体条目。我的理解是忽略规则可以分为3个级别- $PROJECT/.git/info/exclude
针对(项目,用户)的特定忽略规则,$PROJECT/<any number of directories>/.gitignore
这适用于跨任何位置(签入)~/.gitignore
的任何用户的特定于项目的忽略规则,针对该用户的任何项目的特定于用户的忽略规则在那台机器上。基于客观,你选择摆在入口的地方。
git rm --cached <path-name>
将其从存储库中删除,但将其保留在本地。 git update-index --skip-worktree <path-name>
将忽略对文件的更改,但将其保留在存储库中。出于好奇:为什么要排除sln文件?这是.Net解决方案的重要组成部分,对吧?
Googled:3种排除文件的方法
.gitignore
适用于该存储库的每个克隆(版本化,每个人都拥有),.git/info/exclude
仅适用于此存储库的本地副本(本地,不与他人共享),~/.gitignore
适用于计算机上的所有存储库(本地,不与他人共享)。3.
实际上需要在您的计算机上设置配置:
git config --global core.excludesfile '~/.gitignore'
.git/info/excludes
,该文件应为.git/info/exclude
,该文件已通过链接的文档得到确认。