2013-05-07 24 views
2

我不明白LOCAL和REMOTE在這種情況下的含義,我覺得git在這方面有問題。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是如何標記我的文件「遠程」和同事的文件爲「本地」。對我來說,它應該是完全相反的。我有一個本地文件,同事把遠程服務器放在遠程服務器上。

這是git的bug還是我?

+0

[This answer](http://stackoverflow.com/a/3052118/126042)可能會有所幫助。 – 2013-05-07 14:28:39

+0

@Mark:只有一位工程師會認爲這是理智的 – 2013-05-07 14:31:41

+0

Git不會產生這些文件:你使用的是TortoiseGit還是類似的東西? – cexbrayat 2013-05-07 14:34:33

回答

3

Vimdiff可以,你爲你的合併工具使用,是生產這些文件(默認情況下,Git只會在您的文件中添加< < < <和====)。

How to use vimdiff的回答可能會幫助您瞭解vimdiff如何與Git配合使用。

0

您可以嘗試雙重檢查.gitconfig mergetool選項,以確保本地和遠程引用作爲參數傳遞給vimdiff的順序是正確的。例如,我的.gitconfig如下(我使用p4merge)。

[mergetool "p4merge"] 
    cmd = p4merge.exe $BASE $LOCAL $REMOTE $MERGED 

我可以嘗試將其更改爲以下但不應該真正的問題是什麼順序在指定。

[mergetool "p4merge"] 
    cmd = p4merge.exe $BASE $REMOTE $LOCAL $MERGED