跳至内容
GitTree
合并并解决

重新设定分支基础

变基会在另一个分支之上重放您分支的提交,因此历史记录保持一条直线,例如 git rebase。提交获得新的 ID; GitTree 将旧分支保留在 refs/ogt/trash 下,而 Undo 将其恢复。

免费已更新

免费使用 GitTree:登录后的所有本地 Git 功能。

在此页面上
  1. 开始之前
  2. 在哪里可以找到它
  3. 步骤
  4. 预期结果
  5. 当步骤发生冲突时
  6. 如果出现问题
  7. 问题
  8. 有关的

开始之前

  • 查看您要移动的分支,例如 feature/search。
  • 更喜欢只有您工作的分支:变基重写其他人可能已经拥有的提交。

在哪里可以找到它

  • 右键单击要变基到的分支的标签:Rebase … onto …。
  • 右键单击任何提交:Rebase … onto 该提交。
  • 将分支标签拖到另一个分支上,然后选择变基。
行动macOSWindows 和 Linux
Undo 变基⌘ZCtrl+Z

步骤

  1. 选择变基位置

    右键单击您想要在其上工作的分支,例如 develop,然后选择 Rebase … onto …。

    GitTree 中的分支菜单,其中合并和变基操作编号
    1 将其合并到您的分支中,2 将您的分支重新建立在其上。GitTree 与演示存储库的接口。
  2. 检查选项

    确认信息表明每次提交都会使用新的 id 重播,并保留旧分支。在 Options for this rebase 下,您可以存储本地更改并将其放回原处,以及移动指向这些提交的分支。

  3. 变基

    按 Rebase …。横幅在运行时显示 Rebasing … onto …, step … of …。

预期结果

你的分支从另一个分支的尖端开始,它的提交在它上面的一条直线上。如果它已经在遥控器上,则用力推和租赁来推动它。

当步骤发生冲突时

  • Resolve 打开有冲突的文件;当它们解决后,Continue 继续下一步。
  • Skip 删除冲突的提交并继续。
  • Abort… 停止并将分支原样放回原来的位置。

如果出现问题

由于本地更改,变基无法启动

在变基选项中打开存储本地更改,或者首先提交或存储它们 (stashes)。

rebase后推送被拒绝

远程仍然有旧的提交。使用Force Push (With Lease)…;如果其他人同时推送(fetch, pull and push),它会拒绝。

问题

在变基时如何压缩或重新排序提交?

使用交互式变基:您可以为每个提交选择是否选择、重写、编辑、压缩、修复或删除它,并拖动以重新排序。