從遠程回購拉後,我的本地回購處於一個奇怪的狀態。Git似乎有從遠程拉,但日誌沒有提交承諾
git log
不顯示來自遠程回購的提交。應該更改的文件保持不變。 git status
顯示我在branch master
(如預期的那樣)帶有乾淨的工作目錄。換句話說,從拉找不到任何證據。
但是,如果我從遠程執行特定的提交,則會顯示該提交的正確更改。 git show
如何能正常工作,但我的回購沒有改變,並且log
沒有顯示提交?
發生了什麼事?
從遠程回購拉後,我的本地回購處於一個奇怪的狀態。Git似乎有從遠程拉,但日誌沒有提交承諾
git log
不顯示來自遠程回購的提交。應該更改的文件保持不變。 git status
顯示我在branch master
(如預期的那樣)帶有乾淨的工作目錄。換句話說,從拉找不到任何證據。
但是,如果我從遠程執行特定的提交,則會顯示該提交的正確更改。 git show
如何能正常工作,但我的回購沒有改變,並且log
沒有顯示提交?
發生了什麼事?
可能是那些提交的提交(作爲您中止或還原的前一個git pull
的一部分),但不適用於本地master
。
你的git pull失敗了,你很難重置。這意味着你回到了你所在的位置。但是git pull的一部分是git fetch。所以你實際上得到了遠程分支中包含的對象。爲了測試,你可以在
git log origin/master
看看如果不告訴他們,做一個
git fetch
這應該只是更新遠程跟蹤分支。看到什麼是你可以
git ls-remote origin
遙控器上的(假設的起源是有問題的遠程名)
記得git pull
是git fetch
和git merge
(或git rebase
組合,如果你配置它是辦法)。
這些提交在HEAD/working tree/index中的某處嗎?那些承諾如何適用於當地的主人? – Noel 2012-07-31 21:44:52
你可以嘗試從'origin/master'合併'git merge origin/master',但結果真的取決於你的具體情況:有'master'(你的「本地視圖」的那個分支)和'origin/master'(一個指向master分支的指針,因爲它在遠程存儲庫上)是否有分歧?即你是否向你的'主人'提交了任何變更集? – 2012-07-31 21:50:14
要回答你的第一個問題,很可能這些提交在'git log origin/master'中。 – 2012-07-31 21:54:28