合并后提交时出现Git错误-致命:合并期间无法进行部分提交

问题描述 投票:266回答:16

我运行了git pull,并以冲突结束。我解决了冲突,现在一切都很好(我也使用过mergetool)。

[当我使用git commit file.php -m "message"提交已解析的文件时,出现错误:

fatal: cannot do a partial commit during a merge.

我之前遇到过相同的问题,并且在提交中使用-a时效果很好。我认为这不是完美的方法,因为我不想提交所有更改。我想用单独的注释分别提交文件。我怎样才能做到这一点?为什么git不允许用户在合并后单独提交文件?对于这个问题,我找不到令人满意的答案。

git commit
16个回答
418
投票

我发现在提交命令中添加“ -i”可以为我解决此问题。 -i基本上告诉它在提交之前暂存其他文件。那是:

git commit -i myfile.php

3
投票

对于我自己,这是在我尝试在解析所有文件之前进行合并时在SourceTree中发生的。然后,我将最后一个文件标记为已解析,但是在尝试提交时仍然给我这个错误。我关闭了SourceTree并重新打开它,然后提交了。


3
投票

我仅使用Xcode的源代码控制,通过完全


2
投票

在合并期间,Git出于各种原因希望跟踪父分支。您要做的不是git看到的合并。您可能需要手动进行变基或自动选择。


2
投票

git commit -i -m 'merge message'不适用于我。它说:


1
投票

如果它在源树]中,则在解决冲突后,我们应该将文件明确标记为已解决。刚刚解决没有冲突的选择文件


1
投票

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


0
投票

如果使用的是源代码树或其他GUI,请确保已检查所有文件(合并后)。>>


96
投票
git commit -am 'Conflicts resolved'

这对我有用。您也可以尝试此。


29
投票

[在大多数情况下,您可以使用git commit -i,但万一无法使用

您需要执行git commit -m "your_merge_message"。在合并冲突期间,您无法合并一个文件,因此需要>

  1. 仅处理有冲突的文件(git add your_file.txt]
  2. git commit -m "your_merge_message"

14
投票

您可能在尚未提交的某些事情上发生了冲突。 git不会让您独立提交事务(因为我想这是合并的全部内容),因此您需要先git add该文件,然后git commit -m "Merge conflict resolution"-igit commit标志为您执行添加操作。


12
投票

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


9
投票

如错误消息所言,您不能在合并后进行部分提交。不仅要提交file.php,还应该提交所有更改。


6
投票

您的合并在操作中间停止。您应该添加文件,然后执行“ git commit”:


5
投票

[如果您只想放弃整个挑选的樱桃,然后将文件提交到您想要的任何集合中,


4
投票
  1. 转到您的项目目录
    1. 显示隐藏文件(将出现.git文件夹)
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.