Git 与子分支合并

Git merge with sub branches

我有一个主分支和一个子分支 (branchA)。我从 branchA 创建了另一个子分支 (branchB)。

如果我想从 branchA 获取最新的变化到 branchB,是不是就像坐在 branchB 做一样简单?

git merge branchA

或者我需要做一个:

git pull origin branchA

这里有什么区别?拉不做隐式合并吗?有

git merge branchName

对 branchName 进行隐式拉取?感到困惑...

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

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

一旦您将它们安装在您的机器上,您可以使用以下方法轻松地将 branchA 合并到 branchB 中:

git checkout branchB
git merge branchA

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

is it as simple as sitting in branchB and doing:

git merge branchA

是的,git 简单有力量。

or do i need to do a:

git pull origin branchA

What's the difference here?

此处唯一的区别是使用远程存储库。如果您要从另一台机器(或与另一个人一起工作)将代码推送到远程,例如 Github,那么您可能希望从那里获取任何更新。如果所有更改仅在您的本地计算机上进行,则拉取将不会提供任何新信息。

Doesn't pull do an implicit merge?

是的,git fetch 是 shorthand,然后是 git merge

Does

git merge branchName

do an implicit pull on the branchName?

没有。合并仅使用您的本地分支。所以,不要进一步混淆你,但是你的遥控器有本地 "tracking branches" 你可以像这样合并:

git merge remote/branchName