Git 在Sourcetree中启动合并后无法提交

Git 在Sourcetree中启动合并后无法提交,git,atlassian-sourcetree,Git,Atlassian Sourcetree,在合并后尝试提交时,我收到以下错误消息: “致命:你处于一个合并的中间——不能修改。” 我如何解决这个问题?据我所知,我已经解决了所有冲突,我只需要完成合并并提交更改。但是该产品不允许我,也没有给我任何关于我下一步打算做什么的线索,而且没有“完成合并”的选项 每次我尝试提交我的更改时,我都会收到错误消息,现在我不知道该怎么办 解决冲突后,执行一个git提交-a。这是合并冲突时的最后一步。您可以手动删除.git/MERGE\u HEAD,git将无法判断您正在进行合并。它将允许您像正常情况一样,通

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

“致命:你处于一个合并的中间——不能修改。”

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


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

解决冲突后,执行一个
git提交-a
。这是合并冲突时的最后一步。

您可以手动删除
.git/MERGE\u HEAD
,git将无法判断您正在进行合并。它将允许您像正常情况一样,通过索引中的更改来修改以前的提交

请阅读:
虽然这会起作用,但这是一种黑客行为,不推荐使用。这里需要做的就是让git知道合并已经完成
git commit-a
根据

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

发生这种情况是因为存在文件冲突。当您执行
git合并分支
并且没有任何冲突时,git会自动进行提交,然后您必须执行
git提交--amend
以更改提交消息。但是,当存在冲突时,就没有提交,因为git希望您解决冲突,所以当您完成解决冲突时,只需执行
git提交
,而不执行
--amend
,如果您试图修改上一次提交,并且您知道将存在合并冲突,则强制推送更改(如果确实希望当前更改覆盖远程更改)


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

尝试
git commit-i
commit但不修改?即按下“提交”,然后不选中“修改以前的提交”。谢谢ta.speot.is,它在sourcetree中完成了任务:Dta.speot-它在RStudio中也完成了任务。谢谢你让我从完全的混乱中恢复到安全状态。修改时不会起作用。相反,它只会创建一个新的提交。@AdiPrasetyo-a表示git跟踪的所有文件“和”在合并过程中正在修改。嘿,布莱恩!谢谢你的提示。在我想要修改提交的交互式重新基准期间为我工作。你能解释一下这是做什么的,并告诉我你知道这是什么吗?干杯!@halfjew22 Git只使用该文件记录正在进行的合并。如果你删除它,Git就没有办法了要知道您之前启动了一个合并。如果您使用命令行,也可以使用
git merge--abort
。非常感谢Brian。我还没有在这种特殊情况下尝试过它,但是git merge--abort不会也放弃对我的工作树的更改吗?我正在尝试修改一个合并,这很有意义…这真的安全吗?这似乎是一个错误hack,应该有办法告诉git合并完成了。git提高它可能是有原因的?
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