今天用git将代码push到远程仓库时遇到Updates were rejected because the tip of your current branch is behind
,原因是本地仓库中有部分代码版本低于远程的版本,参考了网上多篇解决方法后终于解决此问题。在此分享下我的整个解决流程~
git pull origin master //将远程代码拉取到本地,但存在冲突无法merge
git add -u //将冲突的文件resolve掉之后才能成功pull,-u的意思是将文件的修改、文件的删除,添加到暂存区
git commit -m "注释"
git pull
此时代码中会出现一下内容
<<<<<<< HEAD
本地代码
=======
拉下来的代码
>>>>>>>
此时代码是不能正常运行的,需要先解决冲突。方法就是选择保留上边内容的本地代码或着拉取的代码,其他的全删掉。
解决完所有冲突后
git add.
git commit -m "描述"//不加描述的话可能会弹出一个窗口要求填写描述信息,填上保存关掉即可
git push master origin
到此成功push代码并解决完冲突!!
这里解决冲突的方法有点暴力,需要找到所有的冲突所在并一一解决,在一个项目里要找到所有冲突可真不是件容易的事,这里我是用文件比对软件来找的(感兴趣的可以看下!一个不错的项目文件对比软件)。当然,网上肯定有更好的方法,大家不妨自行探索~