git 变基后推送到哪个分支

Which branch to push to after git rebase

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

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

在你的例子中,branch2branch1 之后 ,所以你会看到两者。但是 branch1 因此 branch2 之前。从branch1的角度来看,branch2还没有发生。

您所看到的是正确的。如果您使用 master 分支作为您的 "live" 或 "final" 分支,您可以将 branch2 合并到 master:

git checkout master && git merge branch2

这会将您从两个分支所做的更改带入 master


另外:在这种情况下,branch1 是远程的而 branch2 是本地的这一事实并不重要。提交本身在两个地方(因为 git 是分布式的)。 "branches" 只是给不同提交的名称,以便于管理它们。