2010-10-11 56 views
9

我在備份服務器上使用裸Git存儲庫,並在本地執行'git commit'後用'git push'推送本地更改。git:爲什麼我在'git push'後用X提交原始/主文件?

「git的狀態」告訴我

# On branch master 
# Your branch is ahead of 'origin/master' by X commits. 

如果我修改一個文件,然後執行另一個提交之後一推,git的告訴我,我的分支是由提前X + 1個提交。 'git remote show origin'顯示我的提取和拉取URL與我提供的參數相同。

我已驗證我的更改確實被推送到服務器存儲庫(通過拉入不同的位置並檢查內容)。

我在這裏做錯了什麼? PS:我知道在這裏有幾個相關的問題,但我找不到在任何這些問題中我的具體問題的答案。如果我在這方面有錯,請指出正確的方向。

+0

我沒有回答你,但我想讓你知道你並不孤單!我有時會看到這個消息,如果我做了推/拉,即使似乎沒有任何東西被轉移,這也會消失。 – 2010-10-11 14:20:45

+3

你試過在推後運行'git fetch origin'嗎?也許在推送後遠程分支不會被更新。 – 2010-10-11 14:45:56

+0

@弗朗索瓦,確實和推送一樣,它是重要的參考名稱(爲了更新它)。 – Bruno 2010-10-11 15:11:42

回答

6

這聽起來像是你直接推送到URL。嘗試git push origin,這將更新origin的引用(原則上,您可以使用相同的引用名稱兩次具有相同的URL:消息引用引用名稱)。

+0

謝謝你,照顧它! – Eyvind 2010-10-11 18:22:44

1

有時你會遇到這個,即使你實際上沒有本地提交。如果你堅持,和

git pull origin [branch] 

不幫你,只是一味

git pull origin and git pull 

這些命令應該設置你的回購直和清理的暫時領先起源/主的您的問題通過X提交。

0

我發現更新「origin」的跟蹤信息也適用。

嘗試:

git fetch origin 
相關問題