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库的代码也和原作者的代码库保持一致了。

 

 

 

你可能感兴趣的:(Git,github)