我做了一件蠢事,结果引起了冲突。我解决了冲突,现在一切都好了(我也使用了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 再次确认,这次一切都会正常工作。

其他回答

如果存在合并,则不能执行部分提交,这意味着必须提交更改、添加或删除的所有内容。

在我的例子中,文件挂起删除,但它们没有包含在提交中。一旦我包含了它们,我在sourcetree中的提交就很顺利了(我不需要使用命令行)。

立即查看签入文件下面,是否有任何未包含在提交中的更改?

如果你使用的是源树或其他图形用户界面,确保所有文件都被检查(合并后)。

git commit -am 'Conflicts resolved'

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

在合并过程中,Git出于各种原因想要跟踪父分支。你要做的不是git所看到的merge。您可能想要手动进行基数调整或选择。

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

这应该有用。

git commit -m "Fixing merge"