Updates were rejected because the tip of your current branch is behind问题处理

$ git push -u origin master
To [email protected]:******/Demo.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to ‘[email protected]:******/Demo.git’
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. ‘git pull’)
hint: before pushing again.
hint: See the ‘Note about fast-forwards’ in ‘git push –help’ for details.

问题产生原因:是因为远程repository和我本地的repository冲突导致的,而我在创建版本库后,在github的版本库页面点击了创建README.md文件的按钮创建了说明文档,但是却没有pull到本地。这样就产生了版本冲突的问题。

有如下几种解决方法:

1.使用强制push的方法:

$ git push -u origin master -f

这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。

2.push前先将远程repository修改pull下来

$ git pull origin master

$ git push -u origin master

3.若不想merge远程和本地修改,可以先创建新的分支:

$ git branch [name]

然后push

$ git push -u origin [name]

Git :fatal: refusing to merge unrelated histories问题处理

今天github创建了一个仓库(有README.md),把本地仓库和Github上关联以后,发现git pull,git feach提醒fatal: refusing to merge unrelated histories.
问题产生原因:两个分支是两个不同的版本,具有不同的提交历史,执行以下命令:
$git pull origin master --allow-unrelated-histories
可以允许不相关历史提,强制合并,解决了这个问题。