git: Your branch is ahead by X commits 的解決方案

產生原因

因爲你在pull或者fetch原作者代碼的時候會產生新的commit記錄,這條commit其實是讓你的庫和原作者的庫代碼一致,但是卻會生成一條和你修改代碼後提交的commit一樣的記錄,導致你的倉庫的基(base)和原作者的倉庫的基(base)產生偏移,所以

git會提示

Your branch is ahead by X commits

 

解決方案

當你的github fork的倉庫提示 Your branch is ahead by X commits,但是其實你確定你的代碼和主庫是一樣的時候你可以:

 git rebase upstream/master

解釋:將你本地庫的base重新定位到和upstream(也就是原作者的庫)一樣。

 

然後:

git push origin master -f

解釋:強行將本地的代碼推到你自己的github倉庫上(加-f前一定要確定你的代碼和upstream的代碼是一樣的)。

 

強行push到你的代碼倉庫之後,你的github頁面將顯示:

This branch is even with xxxxx:master.

說明你的github庫的代碼也和原作者的代碼庫保持一致了。

 

 

 

發佈了92 篇原創文章 · 獲贊 142 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章