场景1:A为维护的分支,B为自己的分支
将A分支新提交的代码rebase到B分支,在把B分支merge合到A分支
操作步骤:
-
第一种方案
-
git checkout A
-
git pull A (保持A为最新代码)
-
git rebase B,结果如下
-
git checkout B
-
reset Current Branch to Here
-
git push (将本地B分支push到远程)
-
git checkout A
-
reset Current Branch to Here
-
将B分支merge到A分支,然后git push A
-
最后结果如下
-
-
第二种方案
-
git checkout B
-
git pull --rebase origin A,然后merge解决冲突
-
git push 后出现以下框,选择rebase,然后merge解决冲突
结果如下
- git push,将本地B分支同步到远程B分支
-
-
git checkout A
-
将B分支merge到A分支,然后git push A
-
结果和第一种方法一样
场景2:本地B分支添加或修改,远程A被其他人更新
- git pull --rebase o/B,然后merge冲突文件
- 然后提交更新
场景3:撤回到指定版本
-
选中要撤回的版本,右键Reset(本地分支的回退)
-
git push -f -u origin 分支名(远程分支的回退)
场景4:git-flow学习
场景5:将本地非main分支上的工作推到远程main分支
- 第一种
git checkout -b 新分支名 o/main
git commit -m "message"
git push
- 第二种
git branch 新分支
git checkout 新分支
git branch -u o/main 新分支
git commit -m "message"
git push