2013-10-02 53 views
0

我想解決與Git的問題。我正在使用TortoiseGit。Git拉合併獲取

基本上我檢查了主分支,沒有做任何改變,現在我想做一個本地回購更新。

據我瞭解有沒有這幾個命令:從遠程分支下載信息

合併

梅傑斯表示信息到當地分支機構

:合併以上操作

但是,我有幾件事e,我不明白:

  • 當我檢查修改,它表明我已經修改了很多文件(我沒有)。我以某種方式認爲這些變化與遠程分支的變化有關
  • 當我做一個獲取它正確地獲取遠程信息,如果我然後做一個合併它說「已經最新」,但是,如果我做一個拉(據說這兩者都結合了)我得到一個錯誤,說我的本地修改會被合併覆蓋。這讓我感到驚訝,因爲我沒有進行任何本地修改。這可能與以前的觀點有關,但我沒有看到如何。

我誤解了Git的基礎知識,或者任何人都可以向我解釋這種行爲?

+0

我感到奇怪的是,我沒有觸及任何文件。然而,我確實執行了一次讀取。目前我有最新版本的代碼,但只有在我做了恢復,然後拉。這些變化是如何在我的本地回購中出現的? – Kenneth

+0

難道是行結束從unix更改爲Windows或反之亦然? – Jeff

回答

1

可能有很多事情可以被認爲是一個變化。首先相當於git pull其實是。

git fetch 
git merge FETCH_HEAD 

現在,你這樣做之後,你可能想要做git diff FETCH_HEAD,看看是混帳考慮爲差異。您可能需要將FETCH_HEAD替換爲更加用戶友好的內容,如origin/master

它可能是行尾,或者它可能只是文件的修改時間,無論哪種方式,如果你想擺脫你的「修改」,你可以做git reset --hard這將重置所有的工作樹文件到他們在HEAD中的位置,大概你現在可以拉動它。

或者,您可以直接重置爲最新的git reset --hard FETCH_HEAD(或例如origin/master)。