push本地代码到github出错

来源:互联网 发布:广义相对论 知乎 编辑:程序博客网 时间:2024/06/06 03:31

刚创建的github版本库,在push代码时出错:

$ git push -u origin master
To git@github.com:******/Demo.git
 ! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:******/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]


Link:https://www.douban.com/note/332510501/



git push origin master -- 往origin仓库上传master分支。
git push  -- 上传本地所有分支代码到远程对应的分支上。


git push origin master
origin指定了你要push到哪个remote


master其实是一个“refspec”,正常的“refspec”的形式为”+<src>:<dst>”,冒号前表示local branch的名字,冒号后表示remote repository下 branch的名字。注意,如果你省略了<dst>,git就认为你想push到remote repository下和local branch相同名字的branch


git push origin master:master
(在local repository中找到名字为master的branch,使用它去更新remote repository下名字为master的branch,如果remote repository下不存在名字是master的branch,那么新建一个)


==============================================

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


$ git pull origin master


$ git push -u origin master


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


$ git branch [name]    


  然后push


$ git push -u origin [name]

==========================================================================

除非你将分支推送到远端仓库,不然该分支就是 不为他人所见的:

git push origin <branch>






0 0