Git rebase和半跟踪的每个开发人员配置文件

时间:2010-03-14 22:22:38

标签: git

这是我的第一个问题,我也是Git的新人。

背景: 在我的约8位开发人员小组中,我应该是Git的版本控制大师。由于我没有很多Git经验,这很令人兴奋。 我决定需要一个共享存储库,它将是生产代码的权威主数据库和开发代码的主要会合点。当我们为公司工作时,我们确实需要至少显示生产代码的授权来源。

我已经指示开发人员在从共享存储库中提取时进行pull-rebase,然后推送他们想要共享的提交。我们遇到了特定类型文件的问题。

我目前假设这些文件中的一个是典型的问题,称为web.config。我们想要一个版本控制的主web.config供开发人员克隆,但是每个开发人员都可以对这个文件进行少量编辑,他们希望在本地保存但不共享。

问题在于:如何告诉git 而不是考虑本地更改或提交此文件以进行变基和推送的相关性? Gitignore似乎没有解决问题,但也许是因为我把web.config放入.gitignore太晚了?

在一些简单的情况下,我们堆叠了本地更改,重新定位,推送和弹出堆栈,但这似乎并不是一直有效。我还没有拿起这个模式。

关于pull --rebase的已发布文档倾向于处理更简单的情况。

或者我完全有错误的想法?我们在滥用Git吗?

Dougkiwi

2 个答案:

答案 0 :(得分:5)

配置文件背后的一般想法是仅置于源代码控制之下:

  • 它的模板,
  • 能够根据本地数据(用户名,主机名,IP地址等)生成正确配置文件的脚本

另一个解决方案是在dev分支中与其他本地开发人员一起执行此操作,并添加 custom merge driver 以合并这些配置文件修改。 但是,如果正确构建模板文件,则更复杂且通常不需要。

答案 1 :(得分:0)

也许您可以强制冲突并添加不更改数据的rere配置。但我认为最好不要在这种变化中做出改变。