产生原因
因为你在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库的代码也和原作者的代码库保持一致了。