首页 > 其他分享 >git冲突发生原因-两个人同时对文件的同一部分进行了修改

git冲突发生原因-两个人同时对文件的同一部分进行了修改

时间:2024-07-15 22:51:21浏览次数:15  
标签:git 拉取 修改 冲突 远程 分支

在甲负责分支 b 的开发,每次修改后推送到远程分支,乙需要将远程分支 b 拉取更新到本地进行测试,并且乙不修改分支 b 的情况下,通常不会产生冲突。这是因为冲突通常发生在不同的人对同一个文件的同一部分进行了不同的修改,而乙只是在拉取和合并更新,并不进行修改。

再解释的专业一些,就是乙没有对分支b进行任何操作,所以乙此时的commit记录是甲的子集,假如甲对分支b已经多commit了3次,乙在pull的时候就会发现落后了3次提交,就会自动把这3次提交按照甲的commit修改记录进行更新。

场景分析

  1. 甲的操作

    • 甲在本地分支 b 上进行开发。
    • 甲完成修改后,将更新推送到远程分支 b
      git push origin b
      
  2. 乙的操作

    • 乙从远程分支 b 拉取更新并进行测试。
    • 假设乙在本地也有一个 b 分支,乙的操作如下:
      git checkout b
      git pull origin b
      

为什么不会产生冲突

  1. 乙不进行修改

    • 由于乙不对分支 b 进行任何修改,只是拉取最新的代码进行测试,因此乙的本地 b 分支始终是远程 b 分支的副本,没有任何冲突的来源。
  2. 拉取操作

    • git pull 实际上是 git fetch 加 git merge 的组合操作。
    • git fetch 会更新本地的远程跟踪分支 origin/b
    • git merge 会将 origin/b 合并到本地的 b 分支。因为乙没有对本地 b 分支做任何修改,所以合并会自动进行而不会产生冲突。

总结

在这种情况下,由于乙只是拉取远程分支 b 的更新并进行测试,没有对分支 b 进行任何修改,因此不会产生冲突。乙可以通过以下命令定期同步远程分支 b 的更新:

git checkout b
git pull origin b

这样,乙的本地分支 b 将始终保持与远程分支 b 同步,并且不会产生合并冲突。

标签:git,拉取,修改,冲突,远程,分支
From: https://www.cnblogs.com/chentiao/p/18304192

相关文章

  • git fetch 和 git pull的区别
    gitfetch 和 gitpull 都是用于从远程仓库获取数据的命令,但它们有一些重要的区别:gitfetch:仅从远程仓库获取数据,不会自动合并数据。更新本地存储的远程分支的状态。需要手动合并更新的内容到当前分支。常用于查看远程仓库的变化而不修改当前工作状态。示例:gitfet......
  • git fetch --all 和 git fetch origin 的区别
    gitfetch--all 和 gitfetchorigin 这两个命令在功能上有一些关键的区别:gitfetch--all:获取所有远程仓库的所有分支更新。适用于有多个远程仓库的项目。可以一次性更新所有远程仓库的引用。示例:gitfetch--allgitfetchorigin:获取默认远程仓库(通常命名......
  • 【技巧】git stash用的好,切换分支随便搞
    前言......
  • GitHub每周最火火火项目(7.8-7.14)
    项目名称:stanford-oval/storm项目介绍:storm是一个由LLM驱动的知识管理系统,它能够对某个主题进行研究,并生成带有引用的完整报告。这个项目的目标是帮助用户更有效地获取和整理信息,通过利用LLM的能力,它可以自动收集、分析和整合相关的知识,为用户提供全面且准确的报......
  • 使用K8S部署的禅道怎么修改不使用容器自带的数据库而使用其他数据库
    使用K8S部署禅道参考https://www.cnblogs.com/minseo/p/17870641.html如果想要使用不使用容器内自带的数据库修改配置文件找到pvc原始文件位置修改配置文件修改以下配置文件#zentao/config/my.php修改数据库的地址,设置用户名和密码<?php$config->installed=......
  • Wmware简单用法之Tree、Find、修改文件的创建时间及删除 、Scp、生成指定大小的文件
    find主要进行文件搜索基本语法find[文件路径][选项选项的值]常见选项-name 根据文件名称搜索文件,支持通配符*-type f代表普通文件   d代表目录*通配符在linux系统中,如果要查找的⽂件的名称不清晰,可以使⽤部分⽂件名+*搜索[root@localhost~]#find/opt/......
  • 解决equal to 运算中 "Chinese_PRC_CI_AS" 和 "Chinese_PRC_CS_AS" 之间的排序规则冲
    背景:在语句执行过程中碰到equalto运算中"Chinese_PRC_CI_AS"和"Chinese_PRC_CS_AS"之间的排序规则冲突的报错时,可以用COLLATE定义和控制字符数据排序规则。在SQLServer中,COLLATE是用于定义和控制字符数据排序规则(collation)的关键字。排序规则影响字符串比较和排序的行......
  • 使用idea从本地上传代码到gitee
    1.登陆Gitee(登录-Gitee.com),没有就注册一个2.点击新建仓库3.填完点击创建4.用idea打开一个项目(或创建一个项目),,,file——open(这个不用教了吧)注意:绝大多数项目都包含后端、前端、甚至app、小程序代码,所以本地代码上传到Gitee时一定要选择包含全部项目的文件夹例如:5.这里......
  • 用css样式修改svg图标颜色
    主要是利用css滤镜的投影drop-shadow来实现,方法是将原svg移动到网页看不见的地方,然后对原svg投影到原位置,影子实心不虚散,对影子进行颜色控制。 css::root{--color:#7a65ee;/*站点主题颜色*/--svg-offset:20000px;/*将原svg移出窗......
  • 使用内网云+GitHub Pages免费部署动态网站
    目录一、失败的经历1.花生壳2.nat1233.网云穿4.cpolar5.ngrok6.金万维快解析7.神卓互联8.内网云(neiwangyun.net)9.localhost.run10.GitHubPages(pages.github.com)11.IPv612.IPv6+GitHubPages13.FRP14.nps二、终极方案:内网云+GitHubPages一、失败的经历相信......