2016-10-04 198 views
0

我有一个子分支(branchA)的主分支。我从branchA创建了另一个子分支(branchB)。Git与子分支合并

如果我希望从branchA进入branchB的最新变化,是否像坐在branchB那样简单?

git merge branchA 

或做我需要做:

git pull origin branchA 

有什么区别吗?不拉取隐式合并?

git merge branchName 

对branchName做一个隐式拉?越来越糊涂......

回答

0

是它坐在branchB和做简单:

git merge branchA 

是,Git有权力在它的简单。

或做我需要做:

git pull origin branchA 

有什么区别吗?

这里唯一的区别是指使用远程存储库。如果你从另一台机器(或与另一个人一起工作)向远程机器(如Github)推送代码,那么你需要从那里获取任何更新。如果所有更改都在您的本地机器上,那么拉动将不会提供新的信息。

是不是要做一个隐式合并?

是的,这是速记git fetch然后git merge

是否

git merge branchName 

做的BRANCHNAME一个隐含的拉?

没有。合并仅使用您的本地分支。所以,不要再混淆你,但你的遥控器具有本地“跟踪分支”,你可以合并,如:

git merge remote/branchName 
0

假设两个分支都没有你的机器上,你确实需要先检索它们:

git fetch -a 
git checkout branchA 
git pull 
git checkout branchB 
git pull 

一旦你有他们你的机器上,你可以很容易地合并到branchA branchB使用:

git checkout branchB 
git merge branchA 

现在branchB将包含来自branchA和branchB的更改。

+0

我已经有两个分支的本地副本。如果说branchA在本地过时了(许多开发人员正在使用它),并且我坐在branchB中并执行git合并branchA,我会得到branchA的最新更改,还是会将我的branchA本地副本合并到branchB中? –

+0

当您进行合并时,您不会自动获取最新的远程更改,因此您需要先取得更改。基本上你可以跳过上面例子中的'git fetch -a',但其余的都是需要的。 –