【问题标题】:Redo merge of just a single file仅重做单个文件的合并
【发布时间】:2011-10-14 23:38:46
【问题描述】:

我正在进行大型合并,我已使用 git mergetool 解决所有冲突,但我尚未提交,因为我想先确保合并正常。

原来我在解决一个文件中的冲突时犯了一个错误,我想在该文件上用git mergetool 重新解决冲突。由于这是一个大型合并,我想避免在所有其他文件上重做合并,据我所知,我将不得不与 git merge --abort

我知道我可以手动编辑文件,但这会很乏味,而且重做git mergetool 操作会容易得多。这可能吗?

【问题讨论】:

标签: git merge


【解决方案1】:

看来我只是找错地方了。解决方案非常简单。

git checkout -m <file>

这会将文件返回到其冲突状态。然后我可以运行git mergetool 来重做合并。

【讨论】:

  • 这种对我有用。索引最终处于合并状态,但 mergetool 认为没有任何未完成的合并。我只是使用 vi 进行了合并,但还是很奇怪。
  • 谢谢!这正是所需要的。顺便说一句,手动与 vi 合并总是一种乐趣并且完全令人满意。向左移动或向右移动从来没有让我相信合并会按预期进行
  • this duplicate question's answer 中有一些有用的附加细节(答案相同)。
【解决方案2】:

您始终可以手动编辑文件。

如果您使用的是git merge --no-commit,那么您只需准备好提交(在自动和半自动之后)合并。

您仍然可以安全地编辑文件,并且只有在完全满意时才提交。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-30
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 2011-07-11
    相关资源
    最近更新 更多