Git rebase,公共远程分支机构和备份正在进行的工作

时间:2017-01-27 22:37:44

标签: git

我正在学习git rebase,如果我只查看本地存储库,我发现这个概念很容易理解,但是在使用共享远程存储库时发现很难理解。

这是举例说明理解问题的两个例子。

情景1:

我将远程仓库克隆到我的机器上。在我的机器上我: 从master创建主题分支 对主题分支做一堆提交 从我的主题分支将提交重新引导到master 将我的更改推送到远程

情景2:

我将远程仓库克隆到我的机器上。在我的机器上我: 从master创建主题分支 对主题分支做一堆提交 现在我必须回家过一天,但我不希望我的工作只在我的机器上生活,以防万一。所以我将我的主题分支推送到远程。 第二天,我回来并重新提交我的承诺 将我的更改推送到远程。

如果我理解正确,即使我有多个用户一直在使用远程仓库并推高更改,因为我没有搞乱远程任何现有的提交,因此方案1将始终正常工作,我&# 39;我只是添加它们。

在方案2中,我想暂时将我的工作存储在远程工作中,但是通过这样做,我介绍了我的一个团队成员可能将他们的一些工作从我的远程分支基础上进行基础的可能性,然后一旦我改变了,我可能会做他们依赖于工作的承诺。

我对方案1和方案2的假设是否正确?

有没有一种安全的方法可以使用rebase,在远程缓存我的更改而不用担心以后会发生冲突,因为队友决定使用我的远程分支?

1 个答案:

答案 0 :(得分:0)

在场景2中,您要推送的内容通常是您自己的命名空间下的分支:

git push -o origin topic:neonDion/topic

这样,在你的下一个本地rebase中,你将能够git push --force那个分支而不用担心(太多)关于你的队友,他们不应该从用户分支开始他们的工作。

这只是一个惯例,建议事先就这些分支机构进行沟通。