剑魂箫心 发表于 2016-08-10 16:51

本帖最后由 剑魂箫心 于 2016-08-10 16:51 编辑

1、是的,没有交集就不会冲突,互不干涉
2、我没太看明白什么意思,修改不同行应该是互不影响的
3、会冲突
判断冲突的标准是这样的:初始,master和dev分支都指向commit1,我在master分支上修改,提交了我的commit2,老王在dev分支上修改,提交了他的commit2,自此,两个分支分道扬镳,这两个commit2是并列关系,如果这两者修改了同一行还修改的不一样,那就会冲突。如果修改的互不相关则这两个分支可以合并,比如我在master上将dev合并过来,则生成了新的commit3,这是个合并的节点。


_nosay 发表于 2016-08-10 17:48

回复 11# 剑魂箫心

哦,这样呀。我的疑问主要集中在不同的人修改同一文件,哪些情况属于冲突的问题,有些特殊情况估计要经过验证才有感觉,知道它怎么处理这些情况,以后用的就会更顺利。

1. 假设文件内容:
行号 内容
1   a=1
2   b=2
3   c=3

如果删除“a=1”,最新的就变成这样:
行号 内容
1   b=2
2   c=3

老王要修改第二行“b=2”为“b=1”,会由于现在第二行不是“b=1”冲突吗?

2. 如果由于当前的“c=3”产生冲突,再假设文件内容:
行号 内容
1   a=1
2   b=2
3   b=2

如果删除“a=1”,最新的就变成这样:
行号 内容
1   b=2
2   b=2

这种情况,老王会不会把第二个“b=2”修改为“b=1”,而不是第一个?

剑魂箫心 发表于 2016-08-10 18:39

1、首先,当我修改后,老王那边还是三行,所以你设计的情况并不存在。你说的这情况是我修改后更新到主仓库,老王又pull了,然后修改并push。这种情况肯定没有冲突。
2、这。。。c=3是怎么来的。。。如果你觉得文字很难描述,不放建一个仓库试试,印象更深刻(^_^)。

_nosay 发表于 2016-08-10 19:17

回复 13# 剑魂箫心

好的,感谢你{:qq13:}

zt_debug 发表于 2016-08-12 22:07

推荐一个学习git的工具:【网址】 learngitbranching.js.org

_nosay 发表于 2016-08-13 13:40

回复 15# zt_debug


    :em09:
页: 1 [2]
查看完整版本: github使用经验?