我跑了git pull一场冲突结束了.我解决了冲突,现在一切都很好(我也使用了mergetool).
当我提交已解析的文件时,git commit file.php -m "message"我收到错误:
fatal: cannot do a partial commit during a merge.
Run Code Online (Sandbox Code Playgroud)
之前我遇到了同样的问题,并且-a在提交中使用完美.我认为这不是完美的方式,因为我不想做出所有改变.我想分别使用单独的注释提交文件.我怎样才能做到这一点?为什么git不允许用户在合并后单独提交文件?我找不到这个问题的满意答案.
在将SourceTree更新为最新版本后,我正在解决这个问题.假设以下场景:
版本控制下有文件A,B和C,只有一个分支.在我的工作副本中,我对文件A进行了一些更改,因此它变为A'以及文件B到B'.他工作副本中的其他人对文件C - > C'进行了更改.
我准备和提交我的修改文件仅有B.所以我有一个新版本:A,B',C和工作副本A',B',C.
另一个提交他的更改,因此他创建了修订版A,B,C'并将其推送到原点.
它来了.当我执行拉动时,我得到一些合并更改(C').我想提交一个由A,B',C'组成的修订版.我现在不想用修改后的文件A做任何事情.但是,GIT,SourceTree等,失败了:
致命:在合并期间无法进行部分提交.
直到我暂停或放弃对文件A的更改.
我很确定SourceTree的某些先前版本没有暴露这种行为.
2017/05更新
它出现在最新的SourceTree版本2.0.20.1中,此问题已得到解决.但是,请确保您要更新到此版本,因为它包含许多"错误"(新功能)我真的不喜欢.
我cherry-picked提交并解决了冲突,添加了它们,现在当我尝试执行 git amend 时,它失败并显示以下消息。
致命:您正处于挑剔之中——无法修改。
为什么 git 会给出这个消息,有没有办法告诉它一切正常?