2013-12-14 90 views
6

我正在使用Git與其他用戶合作,但今天我無法使用「git pull」獲得某些文件的最新更改,而我看不到「git log」中的更改。文件沒有使用'git pull'更新

可能是什麼問題?

+1

你確定他們推動他們的工作正確嗎? – Jepessen

+0

似乎沒有什麼可以獲得更新。你確定這些文件是否被其他用戶正確提交併存儲在同一個存儲庫中?沒有日誌給這個方向懷疑。 – Aditya

+0

你確定你的子座標已經推到你想要拉的分支嗎? –

回答

2

檢查您當前的分支。

git status 
git branch 

如果你不是一個分支,你是在一個detached HEAD modegit pull不會合並任何東西。

git log --all --branches 

git log將有助於確保你看看是否有上獲取分支機構的任何新的提交(也就是remote tracking branches)。
我使用git log alias來將那些提交顯示爲一個圖。

+0

好想法。覆蓋邊緣情況。 – Laereom

2

你可能會有一個未完成的合併,阻止拉。檢查您是否有提交進行中。

+1

你如何檢查是否有提交進行中? –

1

我只是想增加另一種情況,這可能發生。我正在使用一個稀疏的結帳。出於某種原因,我在我的工作樹中有一個目錄,我認爲它包含在稀疏結帳中(我認爲它在.git/info/sparse-checkout中列出),但沒有(因爲某些原因,我已經從.git/info/sparse-checkout中刪除了它)。被pullcheckoutreset或任何其他命令所忽略。直到我開始在新的全新克隆中複製稀疏結帳配置並意識到錯誤時,我感到非常困惑。

這隻會發生在你身上,如果你正在使用一個稀疏的結帳。如果您沒有使用稀疏結帳,則不會發生。 (檢查git config以查看是否啓用了sparseCheckout,並檢查是否存在.git/info/sparse-checkout,但是您會知道是否這樣做,因爲我認爲它必須由用戶手動設置。 )(谷歌它,如果你好奇它是什麼 - 它只是一個簡單的機制,省略文件和目錄從結賬,否則將被追蹤/拉/取等)。

4

在我的情況下,問題是我我的.git文件夾中有一個index.lock文件。我刪除了這一點,並拉動工作。

+1

出於某種原因,Git沒有提到這個! – CBHacking