2016-10-14 113 views
0

在我的工作流程中,我有master和一个远程分支branch1。我从branch1分支并创建了branch2。我在branch2branch1上做了我的工作,让其他开发者提交了更多的东西。完成之后,我将我的更改提交到branch2重新整理了branch1的最新提交。 Git登录branch2显示我在branch1的最新提交之上的提交,所以在那里看起来都不错。但在branch1git log我的提交没有看到。我做了git rebase之后,我必须做git push吗?如果是,那么在这种情况下,我是否推动到branch1branch2 ??哪个分支推到git rebase

回答

1

您的更改未反映在branch1中,因为它们不是branch1的一部分。

在你的情况下,branch2branch1,所以你看到两个。但branch1因此是之前branch2。从branch1的角度来看,branch2还没有发生。

你所看到的是正确的。如果您使用的是master分支作为你的“活”或“最后”分支,你可以合并成branch2主:

git checkout master && git merge branch2 

这将使你的变化来自两个支路为master


另外的事实:branch1是远程和branch2是当地未出现在此情况下,真正的问题。提交本身在两个地方(因为git是分发的)。 “分支”只是给予不同提交的名称,以便管理它们。

+0

我可以改为'git checkout branch1 && git merge branch2'吗?我们不会在一堆检查和东西之前合并到主人... – newkid101

+0

是的,你可以做到这一点,当然。这会将树中的branch1向前移动(快进)到branch2所在的位置,从而有效地使两个分支相同(指向相同的提交)。 – willoller

+0

网站说明:gui真正有助于可视化这些东西,特别是在学习git时。我现在的收益是https://www.gitkraken.com/,但是ymmv。 – willoller