5

我正在使用Success Git branch介绍的工作流程。我对如何管理更改感到困惑,例如开发分支中的配置。

当我从 master 合并时,为了保持工作树的清洁,我将更改存储起来。如果我提交更改,当我合并回 master 时我应该非常小心。

那么有没有更好的方法来管理 git 中的私有更改?

4

3 回答 3

6

有几种选择:

  1. 不要将私有文件置于源代码控制之下。例如,如果您需要config.ini为每个开发人员进行私有更改,然后config.ini.template在存储库中创建一个包含示例设置的文件,那么每个开发人员都应该制作一个副本并使用私有设置修改该副本。config.ini应该添加.gitignore到.

  2. config.ini在 repo 中添加并使用git update-index --assume-unchanged config.ini,以便 git 忽略文件中的任何本地更改,而不是尝试提交文件。

  3. 在 repo 中为每个环境添加几个配置文件,例如config-robotment.iniconfig-kan.ini等等config-produciton.ini。然后使用命令行参数、环境变量或类似的东西来让您的应用程序选择要使用的文件。

关键是 - 不要使用分支进行配置,否则在开发过程中分支/合并总是很痛苦。

于 2012-09-06T08:01:50.463 回答
1

对于配置文件,选择在“ Git:keep specific files unmerged ”中恢复。

我更喜欢为每个环境(这里为每个分支)对不同的值文件进行版本控制,这样我就不必处理合并(值文件“ dev.config”永远不会在主分支中被修改,其中使用值文件“ master.config”)

我还对模板文件进行版本控制,以便内容过滤器驱动程序在分支结帐时生成实际的配置文件(保持私有而不是版本):

涂抹清洁过滤器驱动程序

于 2012-09-06T05:50:01.897 回答
0

创建并切换到具有不同名称的本地分支,在需要时合并上游主分支。

于 2012-09-06T02:28:45.013 回答