仓库交互时出现的版本冲突问题

什么是版本冲突(conflict)?

这个比较抽象,简单来说,就是系统不知道该如何去处理一个文件,因此会报错,这就是我所理解的版本冲突。

那什么情况下会出现版本冲突问题呢?

出现版本冲突有两个必要的条件,一就是存在合并操作,二就是发送方和接收方对同一文件都做过修改,并且这种修改对彼此是不可知的。

先聊聊第一个条件:存在合并操作

在仓库交互过程中,哪些过程是存在合并操作的呢?我能想到的就只有以下两种操作:即push代码pull代码

将自己的仓库代码push到其他仓库,会将更新的内容复制过去并和其他仓库的内容进行合并。

将其他仓库代码pull到自己的仓库中,包括远程到本地,远程之间到自己的私有库,以及合并分支时,都相当于是pull的操作。

再聊聊第二个条件:多个人对同一文件进行修改

当发送方修改了某个文件,接收方对同一名称的文件也进行了修改,那么在合并时,系统无法判断到底要以谁的文件为准,或者说不知道该做怎样的处理,因此会报错,也就是说出现了版本冲突问题。

我之前存在这样的一种疑惑,那就是双方都修改了文件,但是修改的文件不一样,会不会出现版本冲突呢?答案是不会。因为pull和push只会针对更新过的文件进行复制合并,没有修改过的文件不会进行操作的。那么考虑这样的一个场景,我在远程仓库修改了文件A,本地仓库修

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值