假设我有分支A
。现在我创建新分支并B
进行A
一些提交。假设在这段时间内A
也有一堆提交。有没有办法将这些新提交合并到B
我所做的提交B
将成为顶部?
为了显示:
A -> a1 -> a2 -- B created here -- -> a3 -> a4
B -> a1 -> a2 -> b1 -> b2
我如何合并这样B
最终像
B -> a1 -> a2 -> a3 -> a4 -> b1 -> b2
假设我有分支A
。现在我创建新分支并B
进行A
一些提交。假设在这段时间内A
也有一堆提交。有没有办法将这些新提交合并到B
我所做的提交B
将成为顶部?
为了显示:
A -> a1 -> a2 -- B created here -- -> a3 -> a4
B -> a1 -> a2 -> b1 -> b2
我如何合并这样B
最终像
B -> a1 -> a2 -> a3 -> a4 -> b1 -> b2
你想rebase
,不是merge
开启时B
,执行
git rebase A
这不会影响 A 分支,但会改写 B 分支的近期历史。
之前,你有
... -> a1 -> a2 -> a3 -> a4 -> A
\--> b1 -> b2 -> B
之后您将拥有:
... -> a1 -> a2 -> a3 -> a4 -> A
\--> b1 -> b2 -> B
利用git rebase
我的典型工作流程,包括在分支中工作和合并到 master 是:
git status # Make sure I am in the master branch, "git checkout master" if not
git pull
git checkout -b new_branch # New branch called new_branch
# do the work, tests, etc.
git add .
git commit
git checkout master
git pull # Get the very latest master
git checkout my_branch
git rebase master
git checkout master
git merge my_branch
git push master