1

假设我有分支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
4

2 回答 2

4

你想rebase,不是merge

开启时B,执行

git rebase A

这不会影响 A 分支,但会改写 B 分支的近期历史。

之前,你有

... -> a1 -> a2 -> a3 -> a4 -> A
              \--> b1 -> b2 -> B

之后您将拥有:

... -> a1 -> a2 -> a3 -> a4 -> A
                          \--> b1 -> b2 -> B
于 2012-08-30T22:15:01.570 回答
1

利用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
于 2012-08-30T22:26:35.440 回答