【GitBranch】移动提交记录

  |  

文章导航

git移动提交记录

整理提交记录——把某个提交放到指定位置

Git Cherry-pick

教学

  • git cherry-pick <提交号>...:将一些提交复制到当前所在的位置(HEAD)下面

演示

  • git cherry-pick C2 C4:把这两个提交复制到当前HEAD的下面,可以跳记录

练习

将三个分支中的提交记录复制到 main 上

1
git cherry-pick C3 C4 C7

交互式 rebase

不清楚你想要的提交记录的哈希值时 ——交互式rebase:从一系列的提交记录中找到想要的记录

教学

  • 交互式 rebase 指的是使用带参数 --interactive 的 rebase 命令, 简写为 -i
    • 如果你在命令后增加了这个选项, Git 会打开一个 UI 界面并列出将要被复制到目标分支的备选提交记录,它还会显示每个提交记录的哈希值和提交说明,提交说明有助于你理解这个提交进行了哪些更改。
    • 在实际使用时,所谓的 UI 窗口一般会在文本编辑器 —— 如 Vim —— 中打开一个文件。
  • 当 rebase UI界面打开时, 你能做3件事:
    • 调整提交记录的顺序(通过鼠标拖放来完成)
    • 删除你不想要的提交(通过切换 pick 的状态来完成,关闭就意味着你不想要这个提交记录)
    • 合并提交,它允许你把多个提交记录合并成一个。(本课程不支持)

演示

  • git rebase -i HEAD~4:把当前HEAD指针往上(包括当前)的四个提交提取出来,进行排序、删除等操作,结束后返回想要调整的顺序

练习

做一次交互式的 rebase,整理成目标窗口中的提交顺序。

1
git rebase -i HEAD~4
  • 打开窗口后拖动成要求状态
本站总访问量 您是第位访客