我的项目有一个分支master
。假设我已执行了四次提交A
,B
,C
和D
。现在我只是意识到D
是太实验性的东西,所以它不应该在master
(尚未),而是在它自己的一个单独的分支上,比如experimental
。< / p>
我如何:
D
放在自己的分支上?C
作为master
并在此分支上执行新提交?(注意:我不想只撤消提交)
答案 0 :(得分:2)
首先,您需要experimental
来自master
的{{1}}分支:
mureinik@computer ~/src/git/myproject [master] $ git branch experimental
然后,您可以branch
master
分支到后面的一个提交:
mureinik@computer ~/src/git/myproject [master] $ git reset HEAD~ --hard
答案 1 :(得分:1)
首先,在experimental
提交上创建D
分支。此时它将与master
相同。
执行git checkout master
。
做git reset --hard HEAD~1
。 (这会让你提交C
)
现在做一个push -f
(来自主分支。这将推送C
作为master
上的最后一次提交。
这应该解决它。