我可以使用.gitignore_global忽略多个存储库中所有用户的文件吗?

时间:2012-05-01 22:58:39

标签: git gitignore

在我的开发团队中,我们有多个项目跨越几个git repos。这些项目实际上共享一些常见的配置元素。我们最近对我们的一个共享配置文件进行了本地更改,我们都不希望将其提交给生产环境。

/www/
|
|-- git repo 1 (containing shared config files)
|-- git repo 2 uses files from 1
|-- git repo 3 uses files from 1
|-- git repo n uses files from 1

在我们为每个仓库设置.gitignore文件时,我遇到了~/.gitignore_global

由于.gitignore_global位于~/,每个用户,是吗?

我是否应该让每个开发人员实现他们自己的.gitignore_global文件,或者我可以将常规.gitignore应用于所有这些文件,以便可以全局提交吗?

1 个答案:

答案 0 :(得分:4)

假设您在gitignore man page中提到属性core.excludesfile

  

放置模式的文件取决于模式的使用方式:

     
      
  • 应该通过克隆进行版本控制并分发到其他存储库的模式(即所有开发人员都希望忽略的文件)应该进入.gitignore文件。
  •   
  • 特定于特定存储库但不需要与其他相关存储库共享的模式(例如,存储在存储库中但特定于一个用户工作流的辅助文件)应该进入$GIT_DIR/info/exclude文件。
  •   
  • 用户希望git在所有情况下都忽略的模式(例如,由用户选择的编辑器生成的备份或临时文件)通常会进入由 core.excludesfile 指定的文件中。用户的~/.gitconfig
  •   

是的,这是每个用户。

话虽如此,对于具有可变内容的配置文件(取决于环境),我宁愿更喜欢存储库中的版本.gitattributes文件,其中包含内容过滤器驱动程序。
请参阅forinstance“How to keep different content of one file in my local and github repository?


zerocog提到in the comments tutorial yakiloo.com