【问题标题】:Cant commit after starting a merge in Sourcetree在 Sourcetree 中开始合并后无法提交
【发布时间】:2014-03-03 00:04:17
【问题描述】:

在合并后尝试提交时,我收到以下错误消息:

“致命:您正在合并——无法修改。”

我该如何解决这个问题?据我所知,我已经解决了所有冲突,我只需要完成合并并提交更改。但产品不会让我,也没有给我任何关于我接下来要做什么的线索,并且没有“完成合并”的选项

每次我尝试提交我的更改时,我都会收到错误消息,我现在不知道该怎么办!

【问题讨论】:

  • 试试git commit -i <files>stackoverflow.com/questions/5827944/…
  • 提交但不修改?即推送“提交”然后不检查“修改以前的提交”。
  • 感谢 ta.speot.is,它在 sourcetree 中完成了这项工作:D
  • ta.speot - 这也在 RStudio 中完成了这项工作。谢谢你把我从完全的混乱中带入了安全。

标签: git atlassian-sourcetree


【解决方案1】:

您可以手动删除.git/MERGE_HEAD,Git 将无法判断您只是在进行合并。它可以让您像往常一样使用索引中的更改来修改先前的提交。

请阅读:

虽然这可行,但这是一种 hack,不推荐使用。这里需要的只是让 git 知道合并已完成 git commit -a 按照 this answer

【讨论】:

  • 嗨,布赖恩!谢谢你的提示。在我想修改提交的交互式 rebase 期间为我工作。你能解释一下这是在做什么,并指出你知道这是什么的地方吗?干杯!
  • @halfjew22 Git 只是使用该文件来记录正在进行的合并。如果你删除它,git 无法知道你之前开始了合并。如果您使用的是命令行,也可以使用git merge --abort。
  • 非常感谢布赖恩。在这种特殊情况下我没有尝试过,但不会 git merge --abort 也摆脱对我的工作树的更改吗?我正在尝试修改合并,这很有意义...
  • 这真的安全吗?
  • 这似乎是一个 hack,应该有一些方法可以告诉 git merge 已经完成。 Git 可能出于某种原因提出它?
【解决方案2】:

解决冲突后,请发送git commit -a。这是合并冲突的最后一步。

【讨论】:

  • 修改时不起作用。相反,它只会创建一个新的提交。
  • @AdiPrasetyo -a 表示所有被 git "and" 跟踪并在合并过程中被修改的文件。
【解决方案3】:

解决冲突后,您应该尝试“git rebase --continue”以完成rebase。发布后,commit --amend 是允许的。

【讨论】:

    【解决方案4】:

    发生这种情况是因为您有文件冲突。当您执行git merge branch 并且没有任何冲突时,git 会自动提交,那么您必须执行git commit --amend 来更改提交消息。但是,当有冲突时,没有提交,因为 git 期望你解决它们,所以当你完成解决冲突时,只需执行 git commit 而不使用 --amend。

    【讨论】:

      【解决方案5】:

      如果您尝试修改之前的提交并且您知道会有合并冲突,然后强制推送更改(如果您确定希望当前更改覆盖远程更改)。

      First commit:
      
       1. git add test.txt
       2. git commit -m "some changes"
       3. git push
      
      Second commit after some changes in same file which will result in merge conflict and we know we want only the latest changes that we did in this file:
      
      1. git add test.txt
      2. git commit --amend
      3. git push -f
      

      否则,我们可能会陷入合并和提交循环。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-09
        • 1970-01-01
        • 2016-02-20
        • 2013-10-23
        • 1970-01-01
        相关资源
        最近更新 更多