之前合并代码操作,发现合并了我并不需要的区域,具体操作如下。
分支的结构大致为:
A — 1a提交(对1.txt 加入一行内容:11111) 一 2a提交(对1.txt 加入一行内容:22222) --- 3a提交(对1.txt 加入一行内容:33333)
##一条分支(A分支)每一个提交均对1.txt 文件增加一行内容。
A — b1提交(对1.txt 加入一行内容:44444)
##与A分支同源,创建的B分支,在该分支基础上对1.txt文件增加一行内容。
当前分支结构
A — 1a 一 2a --- 3a
b1
期望结果
A — b1 — 3a
那么此时我进行git rebase 操作,想将A分支的a3更改内容 移植&变基 至B分支的最新提交之后:
git rebase --onto B hashid_a2 hashid_a3
没问题吧,这种操作目的是 将a3 内容:1.txt 增加33333,这个操作 拉到B分支上,冲突解决完毕在1.txt上应该是 显示 33333和44444.
但是事实上报出冲突后,打开1.txt 竟然显示所冲突的位置包含了 11111、22222内容字段。这个我就不太理解了,为什么rebase 、cherry-pick 会合并该提交更改之外的内容,不应该是只合并操作吗(在1.txt文件内增加一行33333)?
还望各位解答。我人都懵了,对git 理解的概念都快崩塌了。