在进行学术研究时,我仍然没有找到一个适合我们项目的良好git工作流。
设置:
我们把主要的工程交给分部主管。当新的想法出现时,一个新的分支被创建来支持这项研究。通常情况下,由不同的人驱动的主要项目有几个平行的研究。
当我在研究部门R工作时(可能需要几个月的时间,而且需要大量的投入)。我的一些承诺与研究没有直接关系,而且正在改进项目本身…我想将这些承诺提交给master branch(它们可以帮助其他人)。
我该怎么做?樱桃采摘?在我看来,经过大量的樱桃采摘(来自更多的人和不同的分支),最终很难将分支r与master合并。
也许更好的选择是在提交之前切换到master,进行提交,然后切换回master并从中提取更新。但这似乎很困难,原因有三:
切换到master并不容易,因为许多文件没有在冲突中提交等(我需要以某种方式使用一个stash)
有时我后来才意识到,我应该将旧的提交从r推到master。
有时我不想从其他人那里得到师父的其他更新。它们以后会有用的,但我现在没有时间处理它们。
做这件事的正确方法是什么?
最佳答案
你可以考虑:
(在分支r上)git rebase --interactive
:为了对提交进行重新排序,首先是您想要的提交,然后是master
的具体提交。
(在分支R
)master
(上一次提交的右边sha1)
但这将改变merge SHA1
分支的历史,这也可能是其他人克隆它的问题(您需要清楚地交流该事件,要求他们将master
分支重置为您更改并推送的新分支)。
关于git - 研究环境中的git工作流程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16478915/