1
我有一堆线性提交历史提交。在某些时候,我添加了一个对测试有用的功能,但不应该投入生产。我现在想分出一个具有该功能的testing
分支,但希望将来能够将testing
重新分配到master
以使其保持最新状态。所以,我目前提交的样子:Git删除功能,但保留其他分支
A-B-C-D-E
我的解决办法是增加另一个承诺F
到master
,消除该功能。然后创建一个分支testing
并恢复提交F
:
# Do work to remove feature
git commit -a -m "F"
git checkout -b testing
git revert master
所以现在我的提交历史类似:
A-B-C-D-E-F (master)
\
F' (testing)
凡F'
是F
逆转。
这是最好的方法吗?有没有更容易,我失踪?
OP会仍然能够通过这种技术将'testing'变成'master'吗? – bfontaine
是的,因为在这个测试结束时,所有'testing'都是'master'加上堆栈顶部的一个提交。 – dillius
不幸的是,所讨论的功能是多次提交的产品,这些提交在历史中并非彼此相邻。这个解决方案也会与其他代码签出并希望重新合并的其他人混淆。如果您不关心其中的任何一项 - upvoted,那么这个解决方案也很好。 – Alex