八珍豆腐 2022-09-16 09:52 采纳率: 0%
浏览 33

git 使用中rebase 和cherry pick 遇到的困惑,求解答

之前合并代码操作,发现合并了我并不需要的区域,具体操作如下。
分支的结构大致为:

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 理解的概念都快崩塌了。

  • 写回答

3条回答 默认 最新

  • 暗星涌动 2022-09-16 16:42
    关注

    img


    用 cherry-pick 就可以复制一个commit

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 9月16日
  • 创建了问题 9月16日

悬赏问题

  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?