用idea自带的git push代码时候报错,提示为:
push of current branch was rejected remote changes need to be merged before pushing
出错原因:
是因为远程repository和我本地的repository冲突导致的,而我在创建版本库后,在github的版本库页修改了文件,但是却没有pull到本地。这样就产生了版本冲突的问题。
解决方案:
有三种解决方案:
一、使用强制push的方法:
$ git push -u origin master -f
存在问题:这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。
二、push前先将远程repository修改pull下来
$ git pull origin master
$ git push -u origin master
存在问题:本地编写的代码会被覆盖,忙了一天,当天的工作全没了。
三、若不想merge远程和本地修改,可以先创建新的分支:
示意图:
local branch: --- Commit C -- Commit E
/ /
/ /
/ /
origin/branch: Commit A ------ Commit B ---- Commit D
首先:
$ git branch [name]
然后push:
$ git push -u origin [name]