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

标签 git

这是我的第一个 SO 问题,我对 Git 也很陌生。

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

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

其中一个文件(我目前认为是该问题的典型)称为 web.config。我们想要一个版本控制的主 web.config 供开发人员克隆,但每个开发人员都可能对此文件进行细微编辑,他们希望本地保存但不共享。

问题是这样的:我如何告诉 git 考虑本地更改或提交此文件以与 rebase 和推送相关? Gitignore 似乎没有解决问题,但也许那是因为我太晚将 web.config 放入 .gitignore 了?

在一些简单的情况下,我们会堆叠本地更改、重新设置基础、推送和 pop 堆栈,但这似乎并不总是有效。我还没有完全掌握这个模式。

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

或者我的想法完全错误?我们是否滥用了 Git?

道格基维

最佳答案

配置文件背后的总体思想是仅置于源代码控制之下:

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

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

关于Git rebase 和半跟踪每个开发人员的配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2444028/

相关文章:

git - 在线 Git 手册页在哪里?

c# - 从 Git for Unity 项目中排除 Library 文件夹导致场景丢失

svn - 在颠覆中使用 git

git - merge 时如何始终忽略文件

git - 如何使用 TortoiseGit 编辑不正确的提交消息?

git - 如何永久删除 Github 标签?

Git - 跟踪分支信息

python - 尝试从 Github 安装 Python 包

git - Refname 'master' 不明确

git - 如何通过 Terraform 下载 git 代码?