Git数据流图

根据数据流向,已图片的形式表达Git常见操作

  • 使用红色箭头代表:数据从远程到本地的流向
  • 使用蓝色箭头代表:数据从本地到远程的流向
  • 使用绿色箭头代表:误操作后,回退
    请添加图片描述- 附:git diff的操作场景
    请添加图片描述

实例

背景:当本地修改、添加、提交,并推送时,Git提示:远程仓库与本地冲突。

冲突分析

  • 使用git fetch命令,下载远程仓库最新代码
  • 使用git merge命令,合并代码。此时会出现冲突提示
  • 使用git diff命令,得到冲突详情
diff --git a/your_path/your_file.txt b/your_path/your_file.txt
index 163812b..a4f7cc5 100624
--- a/your_path/your_file.txt
+++ b/your_path/your_file.txt
@@ -3,11 +3,17 @@
第一行内容
第二行内容
+<<<<<<< HEAD
第二行内容 加上本地修改的内容
+=======
第二行内容 加上远程修改的内容
+>>>>>>> refs/remotes/origin/master
第n行内容

每段含义

  • diff --git a/your_path/your_file.txt b/your_path/your_file.txt 代表冲突的标题
  • index 163812b..a4f7cc5 100624 代表Git的内部编号
  • --- a/your_path/your_file.txt 代表远程文件的路径
  • +++ b/your_path/your_file.txt 代表本地文件的路径
  • @@ -3,11 +3,17 @@ 代表Git对文件增删改的统计
  • +<<<<<<< HEAD 代表本地修改内容起始位置
  • +======= 代表远程修改内容的起始位置
  • +>>>>>>> refs/remotes/origin/master 代表冲突内容结束位置

解决冲突

  • 使用任意编辑器,打开冲突文件your_path/your_file.txt
  • 删除三行内容,再将改文件修改成自己想要的最终模样
+<<<<<<< HEAD
+=======
+>>>>>>> refs/remotes/origin/master
  • 再次添加、提交、推送即可

附:深层原理

  • 第一次推送失败后,本地代码到了仓库区
  • 使用git fetch后,远程代码到了仓库区
  • 使用git merge后,远程代码、本地代码带着冲突,都到了工作区
  • 修改工作区文件后,一切从头开始走
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值