我有一個本地存儲庫,從遠程存儲庫中提取。運行git pull
以及用於執行完全相同的動作git fetch; git merge FETCH_HEAD
,如從description of git pull
預期:FETCH_HEAD引用在「git fetch」後沒有正確更新
說明
集成了從遠程倉庫變爲當前分支。在默認模式下,git pull是git fetch的縮寫,然後是git merge FETCH_HEAD。
目前,和出乎意料的是,運行git fetch
停止正常更新FETCH_HEAD
參考。 FETCH_HEAD
現在堅持一箇舊的提交。運行git fetch
將所有更改下載到遠程跟蹤分支,但FETCH_HEAD保持不變,無論其運行的分支如何。
# currently in branchone
> git fetch
# branchone is up to date since...
> git rev-parse branchone
593539e8a98ba5980d4b645db3b0f506bb9b6a2c
# ...its in the same commit as the remote branch
> git rev-parse origin/branchone
593539e8a98ba5980d4b645db3b0f506bb9b6a2c
# however FETCH_HEAD shows something different
> git rev-parse FETCH_HEAD
37301df96597ac037f8e7e846fea6fc7df77bea5
git pull
仍然執行正確的任務。然而,運行git fetch; git merge FETCH_HEAD
將會有所不同,因爲FETCH_HEAD
指向不正確的提交。
是否有任何設置或問題可能與git fetch
行爲有關?
可悲的是沒有。即使正在重置庫到很老版本的修改沒有在'git fetch'和'FETCH_HEAD'的行爲 – LopSae 2012-07-16 19:24:28
你可以嘗試的另一件事是刪除整個本地存儲庫並再次克隆它,如果沒有,我會進一步幫助你。本地存儲庫.. – aliasgar 2012-07-17 06:34:31
在一個新的版本庫中,行爲是一樣的,'FETCH_HEAD'指向的是第一個出現在'.git/FETCH_HEAD'文件中的文件。讀取它看起來像這是預期的行爲,但我仍然懷疑wh你之前在做'git fetch; git merge FETCH_HEAD'可以在任何分支上完美工作。 – LopSae 2012-07-24 02:02:45