2

我使用 Git Extensions 作为 git GUI。

在处理 vs c# 项目时,我需要保留许多设置文件。我想创建本地分支来保存它们。

所以现在我的工作流程看起来像:

  1. 做出真正的改变
  2. 从本地设置分支结帐
  3. 提交,推动
  4. 结帐回本地设置分支
  5. 变基本地分支

除非我对在本地设置提交中更改的文件进行了更改,否则它工作正常。如果我从本地分支进行结帐,则会因该文件的冲突而中止。

我需要存储更改、结帐、应用存储、弹出存储。

有没有更好的方法呢?我所需要的只是在几个文件中保留一些更改。

4

2 回答 2

1

你为什么以这种方式使用分支?分支旨在保持功能分离,直到它们准备好被拉回一个单一的“主”分支。如果您的项目有一堆与项目相关的设置文件,那很好,您可以将它们保存在master. 如果您的设置是实验性的,那么您可以将它们复制到另一个分支,但整个项目也应该在该分支中。

你的工作流程应该是这样的。

  1. 做出真正的改变。
  2. 提交更改。
  3. 重复。

当您准备好从本地存储库中发布您的更改时,您可以

  1. git pull
  2. 如果存在任何冲突,请修复它们。
  3. git push

编辑:也许另一个工作流程是master在其他分支上使用各种设置更改来开发主项目,但在主项目更改时定期拉入主项目。

  1. git commit // 当在主人身上时。
  2. git checkout debug
  3. git merge master//将master拉入调试
  4. 测试更改并根据需要提交
  5. git checkout master

在这种情况下,master 永远不会改变,也不会受到其他分支更改的影响,但是各个分支可以随着 master 的更改而保持最新。

于 2012-08-31T14:00:05.717 回答
0

您可以决定只通过git-cherry-pick合并特定的提交。如果您始终为您的设置更改单独提交(意思是,提交只更改设置,没有其他内容),那么您可以使用cherry-pick 合并所有提交,除了更改设置的提交。

于 2013-05-30T11:36:09.903 回答