2012-02-02 111 views
0

我將我的git項目克隆到我的U盤上。我在我的U盤中更改了項目文件a.txt爲什麼我的「git push」到遠程git項目失敗

然後,在U盤的項目根目錄下,我運行了git push。它注意到成功。 但是在我的origin項目中,它保持不變。

但是,在origin項目根目錄中,當我運行git status時,它出現a.txt的更改。當我運行git --hard HEAD時,它出現在我的U盤上。

怎麼回事?如何解決它?

回答

1

您的起源項目是裸倉庫嗎?如果沒有,推送到當前檢出的分支可能導致這種行爲。

解決方案:不要推送到當前在源存儲庫中檢出的分支。如果可能的話,使用裸倉庫作爲原點。

+0

謝謝!然而,對於同一個git repositoty,同樣的操作,爲什麼我的合作者沒有這個問題? – Gina 2012-02-03 03:10:43

+0

這是一個不能在沒有詳細查看你和你的協作者配置的情況下應答的問題。在設置中必須有一些區別,否則git不會有不同的表現。但我仍然建議只使用裸倉庫作爲原點。如果您需要存儲庫,則可以在原始位置所在的計算機上工作,您可以在此設置原始克隆,並在裸露的原始存儲庫中配置後接收掛鉤,以更新克隆的存儲庫。 – flyx 2012-02-03 07:39:27

+0

非常感謝您的詳細解釋!我已經知道問題的根源。在我的情況下,我只需要運行代碼git pull。 – Gina 2012-02-03 15:09:00

0

Git-push將更改從本地存儲庫推送到遠程存儲庫。

在推送之前,您忘記了commit您更改過的文件到本地存儲庫嗎?

+0

我已經提交。我認爲這些變化已經被推到了遙遠的地方,但它已經自動恢復到它的原始文件。 – Gina 2012-02-02 09:37:23

相關問題