文章目录
- [0. 概要](#0. 概要)
- [1. 切换到你想要 rebase 的分支](#1. 切换到你想要 rebase 的分支)
- [2. 执行 rebase 命令](#2. 执行 rebase 命令)
- [3. 解决冲突(如果有)](#3. 解决冲突(如果有))
- [4. 强制推送分支(如果已经推送过该分支)](#4. 强制推送分支(如果已经推送过该分支))
0. 概要
之前介绍过如下git文章
git merge的三种操作merge, squash merge, 和rebase merge
如何使 git pull origin master 不出现 Merge branch 'master' 提交信息?
Git技巧:如何重命名你的分支
在 Git 中,使用 rebase
命令可以基于某个分支进行 rebase,从而将你当前的工作整合到目标分支上。操作按照如下:
1. 切换到你想要 rebase 的分支
首先,切换到你想要基于目标分支进行 rebase 的分支。
bash
git checkout <your-branch>
2. 执行 rebase 命令
使用 git rebase <target-branch>
,其中 <target-branch>
是你想要基于的目标分支。例如,如果你想基于 main
分支进行 rebase:
bash
git rebase main
这将会将当前分支中的提交,按顺序放在目标分支(main
)最新的提交之后。
3. 解决冲突(如果有)
如果 rebase 过程中发生了冲突,Git 会提示你需要手动解决冲突。解决冲突后,使用以下命令继续 rebase 过程:
bash
git add <conflicted-file>
git rebase --continue
如果你想中止 rebase,可以使用以下命令:
bash
git rebase --abort
4. 强制推送分支(如果已经推送过该分支)
完成 rebase 之后,你需要将重新整理后的提交推送到远程仓库。由于 rebase 修改了提交历史,如果该分支之前已经推送过,你需要强制推送:
bash
git push --force-with-lease
这样就可以基于目标分支完成 rebase。