git教程-git push冲突

制造冲突

为了说明问题,演示冲突的过程

通过web网页修改 gitee 代码

此步骤,模拟 程序员A 的操作

通过 web网页 修改gitee 的文件,这里修改 A文件 的第一行代码,如:增加 111,然后提交

修改本地代码

此步骤,是自己的操作

修改 A文件 的第一行代码 ,如:增加 222,保存

本地代码提交到本地库

git add .
git commit -m '提交修改'

注意

此时,2个人都修改了 同一个文件的同一行代码,并且对方先推送到远程库,自己提交到了本地库

本地执行 git push 出错

执行下面命令报错:

git push

执行结果如下:

解决

拉取代码

git pull

此时将远程库的代码,与本地库的代码合并在一起,由下面符号标明:

  • <<<<<<和====== 之间的内容是本地的
  • ========与>>>>>>>>> 之间的内容是远程库的

查看状态:

git status

执行结果如下:

手动合并代码

打开 login.html 文件,内容 如下:

用户名: 
密码:
<<<<<<< HEAD
登录按钮 2222
=======
登录按钮 1111
>>>>>>> e7368607397fbdef8dd927ba40f61f17c2ae2d30

解释:

  • <<<<<<和====== 之间的内容是本地的
  • ========与>>>>>>>>> 之间的内容是远程库的

手动合并代码,把多余的部分删除掉,最终修改如下:

用户名: 
密码:
登录按钮 11112222

查看状态:

git status

执行结果如下:

此步骤很关键

此时执行 git push 推送到远程库,仍然报错

应该将 本地代码提交到本地库,然后再 执行 git push 推送到远程库

本地代码提交到本地库

git add .
git commit -m '提交修改'

推送到远程库

git push

此时操作成功

查看状态:

git status

显示 nothing


原文出处:https://malaoshi.top/show_1IX3IvIfdHhu.html