我不明白LOCAL和REMOTE在这种情况下的意思,我觉得git在这方面有问题。
我对x.py进行了更改。一位同事也改变了同样的文件并在我面前承诺并推动。在进行任何操作之前,我在x.py.mine中复制了我的文件版本。 我试图提交并推送,但它被拒绝了,我发生了冲突。现在情况如下
Size Date File
57795 May 7 15:59 x.py.BACKUP.16533.py
54921 May 7 15:59 x.py.BASE.16533.py
54812 May 7 15:59 x.py.LOCAL.16533.py
57151 May 7 16:08 x.py.mine
57151 May 7 15:59 x.py.REMOTE.16533.py
请注意git如何将我的文件标记为“REMOTE”,将同事的文件标记为“LOCAL”。对我而言,应该恰恰相反。我有一个本地文件,同事放了远程服务器上的远程文件。
这是git的错误还是我?
答案 0 :(得分:3)
你用作mergetool的Vimdiff正在生成这些文件(默认情况下,Git只会在你的文件中添加<<<<<和====)。
How to use vimdiff的答案可能会帮助您了解vimdiff如何与Git协同工作。
答案 1 :(得分:0)
您可以尝试仔细检查.gitconfig mergetool选项,以确保作为参数传递给vimdiff的本地和远程引用的顺序正确。例如,我的.gitconfig如下(我使用p4merge)。
[mergetool "p4merge"]
cmd = p4merge.exe $BASE $LOCAL $REMOTE $MERGED
我可以尝试将其更改为以下内容,但在指定的顺序中并不重要。
[mergetool "p4merge"]
cmd = p4merge.exe $BASE $REMOTE $LOCAL $MERGED