Skip to content

Latest commit

 

History

History
46 lines (36 loc) · 1.31 KB

git_rebase.md

File metadata and controls

46 lines (36 loc) · 1.31 KB

git 变基

变基

  • 变基和三方合并整合的最终结果指向的快照始终是一样的, 只是提交历史不同
  • 变基是将一系列提交按照原有次序依次应用到另一分支上, 而三方合并是把最终结果合在一起
  • 变基使得提交历史更加简洁
  • 注意:不要对在你的仓库外有副本的分支执行变基

git rebase

# 将当前分支变基到 base_branch
git rebase base_branch
# 将 topic_branch 变基到 base_branch
# 等同于 git checkout topic_branch && git rebase base_branch
git rebase base_branch topic_branch

git rebase -i

  • 交互式变基的命令
    • pick/p:使用提交
    • reword/r:使用提交,但是修改日志信息
    • edit/e:标记一个提交需要修改
    • squash/s:将当前提交与前一个提交合并
    • fixup/f:将当前提交与前一个提交合并,并丢弃日志信息
    • exec/x:使用 shell 运行剩下的命令行
    • drop/d:删除提交
# 放弃修改
git rebase --abort
# 重写从初次提交到达 commit 的所有历史
git rebase -i --root <commit>

参考