您的位置:首页 >编程>Java>详情

Git拉取代码冲突解决办法

来源:网络 分类:Java 时间:2019-09-10 浏览量:

本文地址:http://www.xiaomijue.com/article/detail/3128.html

导语: 用git'p:u.ll来更新代码的时候,遇到了下面的问题:error:Yourlocalchangestothefollowingfileswouldbeoverwrittenbymerge:xxx/xxx/xxx.phpPlease,commityourchangesorstashthembeforeyou

        用git pull来更新代码的时候,遇到了下面的问题:error: Your local changes to the following files would be overwritten by merge: xxx/xxx/xxx.php Please, commit your changes or stash them before you can merge. Aborting

        git'pull:target

        出现这个问题的原因是其他人修改了product.java并提交到版本库中去了,而你本地也修改了product.java,这时候你进行git pull操作就好出现冲突了,解决方法,在上面的提示中也说的很明确了。

        保留本地的方式修改(强烈推荐,还有一种是直接拉取服务器的(不推荐使用就不写了),这样你本地修改的代码的,就会舍弃,相当于你写的代码直接没,你还的重新写)


        步骤如下:


        通过git stash将工作区恢复到上次提交的内容,同时备份本地所做的修改,之后就可以正常git pull了,git pull完成后,执行git stash pop将之前本地做的修改应用到当前工作区。

        git stash

        git pull

        git stash pop


        看到这里有些人就懵逼了,我也一样,使用SourceTree的对于git命令的就是白痴的,下面我就介绍一下这三行代码代表什么意思吧;


        git stash: 备份当前的工作区的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致。同时,将当前的工作区内容保存到Git栈中。


        git pull:拉取服务器上的代码;


        git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复。


        git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。


        git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。





免责声明:本文章注明的文章来源于网络、自媒体综合提供的内容均源自网络、自媒体,版权归原作者所有,转载请联系原作者并获许可,文章观点仅代表作者本人,不代表本网站立场,如对本文内容有异议,请联系网站底部客服邮箱申请撤稿,我们会核实后处理。

扫码关注微信