我將我的git項目克隆到我的U盤上。我在我的U盤中更改了項目文件a.txt
。爲什麼我的「git push」到遠程git項目失敗
然後,在U盤的項目根目錄下,我運行了git push
。它注意到成功。 但是在我的origin
項目中,它保持不變。
但是,在origin
項目根目錄中,當我運行git status
時,它出現a.txt
的更改。當我運行git --hard HEAD
時,它出現在我的U盤上。
怎麼回事?如何解決它?
我將我的git項目克隆到我的U盤上。我在我的U盤中更改了項目文件a.txt
。爲什麼我的「git push」到遠程git項目失敗
然後,在U盤的項目根目錄下,我運行了git push
。它注意到成功。 但是在我的origin
項目中,它保持不變。
但是,在origin
項目根目錄中,當我運行git status
時,它出現a.txt
的更改。當我運行git --hard HEAD
時,它出現在我的U盤上。
怎麼回事?如何解決它?
您的起源項目是裸倉庫嗎?如果沒有,推送到當前檢出的分支可能導致這種行爲。
解決方案:不要推送到當前在源存儲庫中檢出的分支。如果可能的話,使用裸倉庫作爲原點。
謝謝!然而,對於同一個git repositoty,同樣的操作,爲什麼我的合作者沒有這個問題? – Gina 2012-02-03 03:10:43
這是一個不能在沒有詳細查看你和你的協作者配置的情況下應答的問題。在設置中必須有一些區別,否則git不會有不同的表現。但我仍然建議只使用裸倉庫作爲原點。如果您需要存儲庫,則可以在原始位置所在的計算機上工作,您可以在此設置原始克隆,並在裸露的原始存儲庫中配置後接收掛鉤,以更新克隆的存儲庫。 – flyx 2012-02-03 07:39:27
非常感謝您的詳細解釋!我已經知道問題的根源。在我的情況下,我只需要運行代碼
git pull
。 – Gina 2012-02-03 15:09:00