手动修改后为何查看两个分支中readme文件的内容还是不一样的?
Topic source非常好理解呀,
考虑没有冲突情况的合并,当合并完成之后,master分支改变为合并之后的样子,但是此时的feature分支依然保持自身的样子,并没有因为合并而产生变化。
同理,在存在冲突的情况下,合并之后feature分支也依然保持原来的状态没有改变。
说明没有合并成功,why?
因为你不能让一个最新的提交往回合并!
解释:
在master分支下修改并提交后,此时master分支已经指向了修改后的新提交,而feature分支仍指向发生冲突的那次提交。
在master分支下执行 git merge feature,会提示“Already up to date.”
从内容上看,master的提交内容要比feature新;从时间轴上看,master要晚于feature。
解决:
git switch feature // 切换到feature分支
git merge master // 和master合并
合并成功!此时无论你切换到哪个分支,查看改文件的内容都是一样的。
最直接的理解就是你在master分支上,要把feature1上的东西合进来,结果feaature1上改的东西和你在master上的改的是同一个东西(如果改的不一样,就直接合并了),这个时候你修改readme.txt文件,就是在确定master分支上该文件最后要表现成什么样,改完之后就add commit,把master上的改动提交了,这个时候feature1分支上的东西并没有变啊
- 1
蓝胖胖的蓝泡泡
老师您好,各位同学好,我按照本章的操作,手动修改冲突,在master分支下提交readme,然后分别使用cat readme.txt命令查看两个分支中readme中的内容,发现master分支下的文件中最后一行是:
而feature分支下文件的最后一行是:
问题是:我再次把两个分支合并的时候,提示Already up to date.,但是两个分支下的文件中内容并不一样啊,这是为什么?求解