赞
踩
这是我在使用git提交代码到GitHub上时遇到的一个报错,刚遇到此问题,内心充满了恐惧,不知如何解决,花了不少时间查资料,因此有必要在此记录一下,同时希望可以为读者提供一定参考。
在远程创建空仓库,然后本地写一些代码,尝试提交到远程时,出现标题所指的错误。
其实就是代码冲突,因为我提交的是子文件里的代码,远程有与其并列的子文件的代码,然后我又创建一个子文件,尝试提交远程就导致了远程和本地代码不一致情况(也即冲突)。
你 commit 了你修改的代码,但是别人在你修改期间 push 了最新代码,此时你再 push 就会因为代码冲突报错
没懂不要紧,下面用图片再演示一遍
git pull –rebase origin master 意为先取消 commit 记录,并且把它们临时 保存为补丁**(patch)(这些补丁放到 ”.git/rebase**”目录中),之后同步远程库到本地,最后合并补丁到本地库之中。
我发现网上还有这样一种原因:创建仓库时,勾选了README.MD文件,因为勾选后,当点击创建仓库时,它会帮我们做一次初始提交,因此我们在关联本地与远程时,两端都是有内容的,但是这两份内容并没有联系,当我们推送到远程或者从远程拉取内容时,都会有没有被跟踪的内容,于是你看git报的详细错误中总是会让你先拉取再推送,但是拉取总是失败。
于是我通过对照实验进行验证,果然报错!
github上创建带有README.MD的仓库
创建空项目
随便print一下
然后我对照一下创建一个空仓库验证一下
github上创建空仓库
重新添加远程库test2
提交成功
通过对照实验,可以看出创建带有README.MD文件的仓库,提交代码时也会导致代码冲突,报出标题所示的错误。
以上便是笔者分享的全部内容喽! 笔者主要分享了git报错can’t push refs to remote. Try running “Pull” first to integrate to your changes的原因:代码冲突, 希望本篇博客能够帮到读者,谢谢大家的观看!感谢!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。