从分支中删除提交并将其放在单独的分支上

时间:2015-10-12 13:18:11

标签: git branch

我的项目有一个分支master。假设我已执行了四次提交ABCD。现在我只是意识到D是太实验性的东西,所以它不应该在master(尚未),而是在它自己的一个单独的分支上,比如experimental。< / p>

我如何:

  • D放在自己的分支上?
  • 返回C作为master并在此分支上执行新提交?

(注意:我不想只撤消提交)

2 个答案:

答案 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上的最后一次提交。

这应该解决它。