2013-02-13 73 views
3

我從github做了一個回購副本。只是玩弄了一下代碼,做了一個分支,承認在本地進行了更改,現在更新了原始代碼,所以我想刪除我對分支所做的任何操作,並獲取上游所做的更改。git衝突保持原始上游

我遇到衝突,如果我做

git fetch upstream 
git merge upstream/master 
#Automatic merge failed; fix conflicts and then commit the result. 

中流露出我從來沒有一些變化兩個文件名給。

所以我做了git的地位,給了我一個新的文件名(這是我從來沒有,但被我的上游製造)和取消合併路徑:

# (use "git add/rm <file>..." as appropriate to mark resolution) 

兩個文件。

我想要所有新的變化並摧毀我的。什麼可能是解決方案,爲什麼GIT希望我添加一個我從未做過的文件?

+0

所以你要我做一些像git fetch orgin然後git reset --hard origin/master?在這種情況下,我會從哪裏獲取上游的更改? – 2013-02-13 11:44:15

+0

在我按照您提到的鏈接建議的操作後,仍然收到相同的衝突消息。 – 2013-02-13 11:46:48

回答

3

中止的衝突合併:

git merge --abort 

然後設置你的本地回購相同的承諾上游,丟棄局部變化:

git reset --hard upstream/master 

至於你的問題:

爲什麼GIT希望我添加一個我從未做過的文件?

它沒有。它告訴你解決你更改的文件中的衝突,然後在這些文件上解決git add <file>,將已編輯的版本標記爲已解決,並確定提交。