如何从我的主干变为分支?

时间:2010-09-05 12:31:12

标签: git dvcs tortoisegit

我刚开始使用Git并发现当我在分支机构中实现一个功能时,我会遇到一些真正需要尽快推送到主干的错误。为了做到这一点,我使用checkout切换回trunk,进行更改并提交它们。我现在有一个无bug的主干。

不幸的是,我的分支也需要修复此错误。由于功能不完整,我不能将分支合并回主干。如何更改我的分支以便它接收我对主干所做的更改?

如果重要的话,我正在自行开发,因此只需要担心一个存储库。

我正在使用TortoiseGit,因此特定于此的说明将有所帮助,但不是必需的。

2 个答案:

答案 0 :(得分:20)

确保您已检出分支(git checkout branch-name)并运行

git rebase master

解决任何到达的冲突。

如果您不确定这些命令的作用,请尝试不使用TortoiseGit并使用终端。它将帮助您真正理解命令。

警告:这假定为本地分支。如果您已共享分支,请不要运行rebase(因为它会修改历史记录)。运行

git merge master

当你在另一个分支上时。这个历史较少,但可以使用。

区别在于:

  • Rebase - 重写master上的分支,重放所有更改
  • 合并 - 正常合并,创建包含两个父母的提交

答案 1 :(得分:1)

如果其他人无法使用您的存储库,则上述建议的git rebase master将有效。

如果您的存储库是公开的,那么您真的不想重新绑定,因为它可能会搞砸其他已克隆您的存储库的人。在这种情况下,您希望使用git merge master将更改从主干合并到您的功能分支。