2012-05-28 57 views
4

我在使用git時遇到了一些嚴重的問題,並且無法在線找到任何解決方案。我是一個新用戶,所以我可能做錯了什麼...Git fetch說「成功」,但沒有下載任何東西

我有一個存儲庫託管在Github上,並且我的團隊中的某個人只是推了一個新的提交。在Windows上使用Git GUI,我試圖從Github獲取新的提交。 Git表示取回是成功的,但沒有發現/下載更改。

我試圖創建一個新的遠程Github,並用它來代替。 (例如[email protected]:MyUserName/MyProject)。從這個遠程獲取時,Git表示成功並將每個分支列爲最新更新。但是,沒有任何分支被下載。如果我再次運行提取,則會顯示相同的消息。

幾天前,我在同一個存儲庫中遇到了同樣的問題。我通過刪除我的本地存儲庫並從Github克隆回購來「修復」它。但顯然這只是一個暫時的解決辦法,因爲問題又回來了。

任何指導非常感謝!

已解決:您說得對,我需要在提取更改後合併。 (可惜的是,Git GUI不允許拉)我假設Git GUI自動執行此操作,但也許我在某個時候意外地更改了選項。感謝您所提供的所有信息!

回答

5

由於對方回答說:fetch剛剛獲得新提交到你的歷史,但只更新「遠程跟蹤分支」。這些是對新提交的引用,但不是您工作的本地分支。

如果要使用遠程追蹤分支將具有的內容更新您的本地分支,您希望使用git pull

我會建議最好是git fetch而不是git pull,然後檢查發生了什麼變化上的遠程分支git log --allgitk --all或檢查的歷史的一些其他方式。當您意識到將要引入的更改及其性質時,您現在可以使用git merge origin/some-branchgit rebase origin/some-branch來更新本地分支以包含更改。

+0

@Maythe,遠程分支及其機制背後的想法[綜合](http://git-scm.com/book/en/Git-Basics-Working-with-Remotes)[解釋](http:/ /git-scm.com/book/en/Git-Branching-Remote-Branches)[The Book](http://git-scm.com/book)。 – kostix

0

一般來說,pull = fetch + merge。 有時,您可能在「獲取」之後看不到任何更改。你必須使用「拉」才能看到真正的更新。我不知道根本原因。