我做了一件蠢事,结果引起了冲突。我解决了冲突,现在一切都好了(我也使用了mergetool)。

当我用git commit file.php -m "message"提交解析文件时,我得到了错误:

fatal: cannot do a partial commit during a merge.

我以前遇到过同样的问题,在commit中使用-a工作得很好。我认为这不是完美的方式,因为我不想提交所有的更改。我想用单独的注释单独提交文件。我该怎么做呢?为什么git不允许用户在合并后单独提交文件?对于这个问题,我找不到满意的答案。


当前回答

转到项目目录 显示隐藏文件(。将出现Git文件夹) 打开。git文件夹 删除MERGE_HEAD 再次提交 如果git告诉你git被锁定了,回到。git文件夹并删除index.lock 再次确认,这次一切都会正常工作。

其他回答

当我在解决git合并冲突时忘记了git提交中的-m时,我得到了这个。

git commit "commit message"

应该是

git commit -m "commit message"

如果你只是想放弃所有的选择并提交你想要的文件集,

git reset --soft <ID-OF-THE-LAST-COMMIT>

让你到达那里。

软重置所做的是将指向当前HEAD的指针移动到您给出的提交(ish),但不改变文件。硬重置将移动指针,并将所有文件恢复到提交(ish)中的状态。这意味着通过软重置,你可以清除合并状态,但保留对实际文件的更改,然后根据你的喜好分别提交或重置它们。

简单地git commit -m“comment”应该在解决冲突后工作。

在阅读所有评论后。这就是我的决心: 我不得不再次“添加”它,而不是提交:

$ git commit -i -m support.html "doit once for all" [master 18ea92e] support.html

正如错误消息所说,在合并之后不能进行部分提交。你应该提交所有的更改,而不是仅仅提交file.php。

这应该有用。

git commit -m "Fixing merge"