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

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

fatal: cannot do a partial commit during a merge.

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


当前回答

git commit -am 'Conflicts resolved'

这对我很管用。你也可以试试这个。

其他回答

我发现在提交命令中添加“-i”可以为我解决这个问题。-i基本上告诉它在提交之前提交额外的文件。 那就是:

git commit -i myfile.php

如果它在Source Tree中,我们应该在冲突解决后显式地将文件标记为已解决。选择刚刚解决到没有冲突的文件。然后行动->解决冲突->标记解决。如果您有多个文件,请对所有文件执行相同的操作。现在提交。

你的合并在动作中间停止了。 你应该添加你的文件,然后'git commit':

git 添加file_1.php file_2.php file_3.php git 提交

干杯

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

对于我自己来说,当我试图在解析所有文件之前提交合并时,在SourceTree中发生了这种情况。然后我将最后一个文件标记为已解决,但在尝试提交时它仍然给了我这个错误。我关闭了SourceTree并重新打开它,然后它就正常了。