只提交部分已解决的文件?

Commit only part of resolved files?

当我试图合并两个分支时,我遇到了很多冲突。我想要实现的是将合并过程分成几个步骤。

是否可以解析 git 中的某些文件并将它们提交到我的分支?

您可以做的一件事是变基而不是合并...这会迫使您为每个提交修复冲突。假设您有分支 master 和分支 feature 并且未推送功能,但您想要将 master 中的内容合并回功能中。

git checkout feature
git rebase master

这会倒回所有更改,因为功能分支从 master 分支出来,将分支点向上移动到 master 的顶端,然后在顶部重播您的更改。 请注意,如果您已经将 feature 推送到您的遥控器,这可能很危险,因为它可能会重写已经推送的历史记录......您应该事先知道这一点。另见 http://www.vogella.com/tutorials/Git/article.html#rebase_branches

但是你可能想要做的是合并整个事情,但是有多个提交而不是一个单一的合并提交。好吧,这是可能的,但你只能有 one 合并提交。 您可以做的是:

git merge feature
git mergetool

然后修复所有冲突并保存并退出编辑器。现在所有内容都已 暂存 ,但尚未提交。现在你可以使用例如git gui 从合并提交中取消暂存更改(select 行并右键单击 selection,然后选择 'Unstage Lines From Commit'),提交初步合并提交,然后重新提交-阶段并逐步提交其余部分。您仍然只有一个合并提交,但有多个后续提交。

我仍然认为这个想法很危险,因为我怀疑中间的那些提交是否是好的提交(例如不可编译的高变化)。