将Git分支恢复为master以重新合并主题分支

时间:2013-11-12 09:13:38

标签: git

设置

我们在现场环境中使用master分支。也就是说,master上的所有内容都适合部署到实时环境中。

同样,我们使用运行临时环境的暂存分支。

对主题分支进行任何更改。这些将合并到QA的暂存中,一旦它们被清除以进行部署,主题分支将合并到主服务器并被丢弃。

Master和主题分支在Github上运行,暂存只存在于本地和存储库中以构建临时环境。

问题

有时主题分支会加载。它们已被合并到暂存中,但由于任何原因(客户端的时间限制,外部依赖性等),它们无法上线。通常这不是问题,他们只是暂停一段时间。

但是现在我有几个分支可能几个月都没有上线,当新的主题分支到达分段时,它们开始引起合并冲突。

所以我想要做的是清理平板:基本上将暂存分支恢复到master上的最新提交,然后重新应用可能在不久的将来完成的所有主题分支。之后,我希望能够将恢复的登台分支推送到我们的暂存环境用于部署的远程仓库,而无需在所述存储库中进行额外的清理。

我该怎么做?非常感谢你。

1 个答案:

答案 0 :(得分:2)

不确定您是否要求提供程序建议或git命令来执行此操作。 如果我找对你,这可能会有所帮助:

  

将暂存分支恢复为主服务器上的最新提交

$ git checkout staging
$ git reset --hard master
  

重新应用可能在不久的将来完成的所有主题分支

$ git checkout topic1
$ git rebase -i staging
$ git checkout topic2
$ git rebase -i staging
...

注意:重新引用是一个经常讨论的问题,因为它“改变了过去”。建议让所有开发人员保持同步(即确保他们的提交不会引用任何你要消除后验的东西)并且可能备份你的存储库。

rebase -i启动交互模式。然后,您就可以将topic1更改应用于登台头,就像您从那里开始一样。有很好的文档herehere