为什么每次我进行 rebase 时,我分支上的所有文件都会被删除(冲突的除外)?

时间:2020-12-30 23:49:40

标签: git rebase

基础分支变化

  • file1 - 已更改
  • file2 - 未更改

my-branch(从 base-branch 分叉出来)

  • file1 - 已更改
  • file2 - 已删除
  • file3 - 已添加<​​/li>
  • file4 - 已添加<​​/li>

在我的分支上,我运行:hotfixes/issues

异常结果:

  • file1:冲突
  • file2:已删除
  • file3:已添加
  • file4:已添加

实际结果:

  • file1:冲突(它甚至没有被任何 git diff 工具清楚地显示出来,就好像“git 冲突标记”放错了位置或被忽略了一样)
  • file2:已添加
  • file3:已删除
  • file4:已删除

为什么?(使用 git rebase base-branch 效果很好)

是否有可能相反?例如首先将最新的 git merge base-branch -no-ff 合并到 base-branch,然后 rebase my-branch 合并到 my-branch?

1 个答案:

答案 0 :(得分:0)

我按照正确的流程进行了更多的重新设置(主分支('A')-> 新分支('B')-> 在新分支上重新设置不在新分支中的最新更改)并且它工作正常。< /p>

因此,更改被覆盖的问题如下:

  1. 分支 A(提交 A-B)分叉到分支 B(提交 B-C-D)
  2. 然后分支 B 合并到分支 A。
  3. 后来,我继续在分支 B 上工作(包括对合并在 2 中的文件进行更改或删除)
  4. 将 A 重新设置为 B (checkout B -> rebase A;) 时,在当前分支之上使用了在分支 A 和 B 中更改的文件的旧版本

似乎使用 rebase -i ,不包括常见更改(2))问题不应该发生

相关问题