git merge 和git rebase
前言:我们在工作常非常常用的两个git命令
git merge 和 git rebase 通常我们用来合并代码
git merge
当我们需要将dev(开发分支)的代码合并到release-dev(生产分支)的时候就需要用到该命令
使用步骤: 1.切换分支到release-dev
2.输入命令:git merge dev(dev分支的代码已经合并到release-dev上),有冲突则解决冲突
git rebase
使用步骤
1.切换到release-dev分支
2.git add .
3.git commit -m "fix:xxx"
4.git rebase dev
5.git push
Rebasing 是将一个分支的修改移植到另一个分支上的一种方式。在你的情况下,你希望将开发分支的代码合并到 dev 分支,可以通过以下步骤使用 rebase 完成:
-
确保你在 dev 分支上:
在执行 rebase 之前,请确保你在
dev分支上,可以使用以下命令切换到dev分支:git checkout dev -
开始 rebase:
在
dev分支上执行 rebase 命令,将开发分支(假设为feature-branch)的修改合并到dev分支上:git pull origin dev # 确保你的本地 dev 分支是最新的 git rebase feature-branch或者,如果你想要交互式地处理 rebase 过程(比如合并多个提交、修改提交信息等),你可以使用:
git rebase -i feature-branch然后按照提示进行操作。
-
解决冲突:
如果在 rebase 过程中出现冲突,Git 会提示你解决冲突。解决完冲突后,使用以下命令继续 rebase:
git rebase --continue -
合并到远程 dev 分支:
一旦 rebase 完成,你可以强制推送
dev分支到远程仓库:git push origin dev --force请注意,强制推送可能会影响其他人的工作副本,所以请确保在执行之前与团队进行沟通。
在执行 rebase 操作时,请牢记以下几点:
- 不要在公共分支上进行 rebase: 避免在主分支(如
master或dev)上使用 rebase,因为这可能会影响到其他团队成员。在本地分支上使用 rebase 是安全的。 - 慎用强制推送: 强制推送会覆盖远程分支的历史,可能导致其他人的工作副本与远程分支不一致。确保在进行强制推送之前与团队进行沟通。
- 处理冲突: 如果在 rebase 过程中遇到冲突,确保解决冲突后继续 rebase。
总之,使用 rebase 需要小心谨慎,确保了解每个操作的影响,并在团队协作中保持透明沟通。
git merge和git rebase区别在于 git merge 合并会生成一个新的合并节点 而git rebase并不会,git rebase在可视化上看是一条平滑的线条,而git merge会有许多合并节点