研究环境中的git工作流程

时间:2013-05-10 09:18:11

标签: git workflow

从事学术研究我还没有为我们的项目找到一个好的git工作流程。

环境: 我们将主项目保留在分公司主人。当新想法出现时,会创建一个新的分支来支持研究。通常对不同人推动的主要项目进行多项并行研究。

当我在研究分支R工作时(可能需要数月,许多提交)。我的一些提交与研究没有直接关系,正在改进项目本身...我想将这些提交推送到主分支(它们对其他人有用)。

我该怎么做?樱桃采摘?在我看来,经过大量的樱桃挑选(来自更多的人和不同的分支),最终将分支R与主人合并。

也许更好的选择是在提交之前切换到master,进行提交,然后切换回来并从master获取更新。但这似乎很难,原因有三:

  1. 切换到master并不容易,因为很多文件都没有在冲突中提交等等(我需要以某种方式使用存储)
  2. 有时我后来才意识到,我应该将旧的提交从R推送到主人。
  3. 有时我不希望其他人从主人那里获得其他更新。它们稍后会有用,但我现在没有时间处理它们。
  4. 这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以考虑:

  • (在分支R上)git rebase --interactive:为了对提交进行重新排序,首先是master所需的提交,然后是R
  • 的具体内容
  • (在分支master上)merge SHA1(您想要master上次提交的正确SHA1)

但这会改变R分支的历史记录,这可能是其他人克隆过它的问题(你需要清楚地传达有关该事件的信息,要求他们重置他们的R分支到你已经改变和推动的新的。)