我对使用.git/info/exclude
和.gitignore
排除文件的利弊感到有些困惑.
它们都位于存储库/项目的级别,所以它们如何区别以及何时使用.git/info/exclude
?
mu *_*u 無 151
优点.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
LeG*_*GEC 26
谷歌搜索:排除文件的3种方法
.gitignore
适用于此存储库的每个克隆(版本化,每个人都会拥有它),.git/info/exclude
仅适用于此存储库的本地副本(本地,不与他人共享),~/.gitignore
适用于您计算机上的所有存储库(本地,不与他人共享).3.
实际上需要在您的计算机上设置配置:
git config --global core.excludesfile '~/.gitignore'
Run Code Online (Sandbox Code Playgroud)
小智 11
只是为了提供我们的(现实世界)体验:当我们必须在每个开发环境中自定义一些配置文件但我们仍然希望源代码在repo中维护并可供其他开发人员使用时,我们开始使用.git/info/exclude.
这样,一旦克隆和修改本地文件,就可以从提交中排除,而不会影响仓库中的原始文件,但也不必在仓库中被忽略.
使用.gitignore
的忽略了特定的规则项目。使用exclude
或 全局忽略文件来忽略特定于您的环境的规则。
例如,我的全局忽略文件忽略由我使用的任何编辑器生成的临时文件——该规则特定于我的环境,对于同一项目的其他开发人员可能会有所不同(也许他们使用不同的编辑器)。OTOH,我的项目.gitignore
文件忽略了 API 密钥和构建工件之类的东西——这些是针对项目的,对于项目中的每个人都应该是相同的。
这有帮助吗?