我在一家小公司工作,我們的Git回購有點混亂。我剛剛做了一個git pull
,我今天早些時候做出的更改都沒有了!Git正在丟失單個文件的歷史記錄/內容
當我在主分支HEAD工作,git log
顯示我上次在歷史上犯下b94940c63ef965ce45b0d64ccfba4359134d2552。
現在,如果我爲git log filename
爲有問題的文件丟失了我的更改,則不會顯示該提交(僅顯示先前的提交)。
表演git log --follow filename
,我犯b94940c63ef965ce45b0d64ccfba4359134d2552顯示爲最近。
而且果然如我這樣做:
git checkout b94940c63ef965ce45b0d64ccfba4359134d2552
git log filename
然後提交顯示和我的變化是在文件中!
換句話說,我所做的提交顯示在分支歷史記錄中(阻止分支合併),但單個修改後的文件在其歷史記錄中沒有提交! (除非我明確簽出提交)。
問題:
如何在地球上出現這種情況?
我該如何解決? (我們有多個文件的問題在我們的回購)所有的
感謝您的傻笑和Gitk建議。他們是有用的,但只告訴我相同的控制檯顯示;該分支有正確的歷史記錄 - 文件沒有。不知怎的,這些文件是錯誤的版本。幸運的是,沒有數據丟失,所以我可以重置。但我只是擔心其他事情正在發生(事情很快就會再次破裂) - 這就是爲什麼我想知道事情如何發展的原因。 – UsAaR33