3

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

/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

当我们为每个 repo 设置一个.gitignore文件时,我遇到了~/.gitignore_global

既然.gitignore_global是 in ~/,它的每个用户,对吧?

我应该让每个开发人员实现他们自己的 .gitignore_global 文件,还是可以将常规 .gitignore 应用于所有开发人员,以便可以在全球范围内提交?

4

1 回答 1

4

假设您定义了,如gitignore手册页中所述,属性core.excludesfile

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

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

所以是的,它是每个用户的。

That being said, for configuration files with variable content (depending on the environment), I would rather prefer version in the repository a .gitattributes file with a content filter driver in it.
See forinstance "How to keep different content of one file in my local and github repository?"


zerocog mentions in the comments the tutorial yakiloo.com.

于 2012-05-02T07:05:48.277 回答