產生原因
因爲你在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庫的代碼也和原作者的代碼庫保持一致了。