美文网首页
Git工具-git pull拉取代码时冲突的解决办法

Git工具-git pull拉取代码时冲突的解决办法

作者: 漫天星辰10086 | 来源:发表于2020-07-08 09:17 被阅读0次

    一,在使用git pull命令拉取代码时,有时会遇到以下错误信息:

    error: Your local changes to the following files would be overwritten by merge:

           ...

    Please commit your changes or stash them before you merge.

    Aborting

    Updating 1d17a2c5..3de3e123

    可按以下步骤解决此问题:

    1.先将本地修改存储起来

    使用git stash命令,这样本地的所有修改就都被暂时存储起来 。其中stash@{0}就是刚才保存的标记。后续可以通过此标记访问。

    2.再次拉取代码

    git pull

    3.还原暂存的内容

    git stash pop stash@{0}

    4.解决冲突

    在存在冲突的文件中,Updated upstream 和=====之间的内容为拉取下来的代码,=====和stashed changes之间的内容就为本地修改的代码。解决完成之后,就可以正常的提交了。

    5.删除stash

    使用git stash drop stash@{0}命令,如果不加stash编号,默认的就是删除最新的,即编号为0的。或者git stash clear命令,清除所有stash。

    二,关于使用命令解决git pull拉取代码时发生的冲突解决办法

    1、首先直接git pull拉取线上的代码,出现冲突并报错

    2、合并主分支 git merge master

    3、查看状态:使用命令git status -uno 查看当前状态

    目前有三种状态,包括已经commited的,还有就是Unmerged path路径下的文件,就是我们需要手动合并的,没有冲突回Auto-merging(自动合并)。

    我们需要手动合并下面两个文件:

    手动打开文件后会发现,代码会被<<<<<<<<<、========、>>>>>>>>>等包围,这是冲突标记。

    关于冲突标记:<<<<<<和======之间的内容是本地自己修改的,========与>>>>>>>>>之间的内容是别人修改的。

    4、在修改完两个文件后,可以分别将文件git add到暂存区

    如:    使用命令:git add  LocationController.java

                                git add  SysService.java

    然后统一git commit将修改合并的文件添加到工作区:

    5、git commit -m "conflictJava"

    6、再用 git  status -uno查看文件状态

    发现冲突已经解决,接下来将文件提交到远程仓库。

    7、使用命令:git push origin  master

    相关文章

      网友评论

          本文标题:Git工具-git pull拉取代码时冲突的解决办法

          本文链接:https://www.haomeiwen.com/subject/kvrqcktx.html