Git混淆了本地和远程,或者我呢?

时间:2013-05-07 14:21:45

标签: git

我不明白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的错误还是我?

2 个答案:

答案 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