git push error. ! [rejected] master -> master (non-fast-forward)
错误提示:
Cheetah@xxxx MINGW64 /e/Projs/enft/data/cv_key_frame (master) $ git push To github.com:AnthonyGIS/video_frame.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'git@github.com:AnthonyGIS/video_frame.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. Cheetah@xxxx MINGW64 /e/Projs/enft/data/cv_key_frame (master)
问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。
方法1
强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容。
如果远程仓库是刚建的,没有代码 或者你确定远程仓库中的代码没有用了,可以这样操作,尽量避免这种操作方法。
git push -f
方法2
先把git的东西fetch到你本地然后merge后再push。
$ git fetch $ git merge
如果在git merge的时候出现
fatal: refusing to merge unrelated histories
可以使用,git pull origin master --allow-unrelated-histories,来处理一下。
继续git merge
若,出现:
fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you merge.
是我们没有提交当前的变化, git add .,git commit -am "提交信息",然后再来一次git merge,然后ok.
最后 git push。(git push origin master)。
提示Already up-to-date. 就好了,上传完成。
参考
git 推送错误 ! [rejected] master -> master (non-fast-forward)解决方案
你们的评论、反馈,及对你们有所用,是我整理材料和博文写作的最大的鼓励和唯一动力。欢迎讨论和关注!
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。
没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。