2010-05-27 42 views
3

我有兩個聲稱是乾淨的回購。 一個最初從另一個克隆並用於開發工作。幾個文件不同步,但git似乎沒有注意到

有幾個文件我可以看到是不一樣的。 但是,當我試圖拉扯任何方式,它說一切都是最新的。

這怎麼可能?

該文件是否以某種方式錯過了提交? ...但是不應該注意到差異嗎?

我需要刷新某種嗎?

+0

你能指定你看到的區別嗎?頂級提交有不同的SHA1嗎?它看起來像你不確定是否所有提交的文件。您可以在原始存儲庫和克隆中提供'git status'的結果嗎? – Gauthier 2010-05-27 09:09:16

+0

狀態顯示它們都是乾淨的回購,那就是我所說的。 – doublejosh 2010-05-27 09:13:59

+0

也是哈希匹配。 – doublejosh 2010-05-27 09:20:28

回答

0

也許你有在回購一個支路B部分提交,而回購的B分支B沒有修改,但(但可能在其他分公司進行一些修改) 含義一個git pull B將返回「Already up-to-date.

這或那些有差異的文件實際上被忽略了(已經從索引中刪除,並且由.gitignore文件選擇)

+0

有問題的文件不在我的.gitignore 然而,在一個相關的說明,現在我想知道如何更新我的索引應該忽略什麼。 – doublejosh 2010-05-27 09:14:46

+0

@doublejosh:「現在我想知道如何更新我的索引關於什麼應該被忽略」的相關說明:請參閱http://stackoverflow.com/questions/2897753/git-status-shows-a-file -that-i-have-listed-clearly-in-my-gitignore-file/2897782#2897782 – VonC 2010-05-27 10:13:18

+0

感謝您的鏈接!在這個問題上,沒有分支(據我瞭解他們,明確創建分支。) – doublejosh 2010-05-27 18:06:43

0

要回答我自己的問題,我決定通過克隆原始回購來處理這種非常奇怪的情況,歸檔看似破碎的回購。

我認爲問題來自雙向拉動。然而,它不應該有,因爲變化是承諾和拉動。

也許侏儒在這個工作。但我仍然對GIT有信心。

0

我似乎有同樣的問題。

有沒有在工作副本和一個差,沒有有git的狀態顯示

cat file # show file in working copy 
git show :file # show file in index/staging 

這些輸出有明顯的差異,而git的狀態說,這是一個乾淨的工作拷貝的指數。

經過一番搜索,我發現該指數可能已損壞,並發現 https://makandracards.com/makandra/5899-how-to-fix-a-corrupt-git-index

rm .git/index 
git reset 

它解決了這一問題對我來說。如果有任何文件被上傳,他們可能會丟失,但至少現在git會看到本地工作副本中的更改。