Git 从分支中删除提交并将其放在单独的分支上
我的项目只有一个分支Git 从分支中删除提交并将其放在单独的分支上,git,branch,Git,Branch,我的项目只有一个分支master。假设我执行了四次提交A,B,C和D。现在我才意识到,D是一种太过实验性的东西,因此它不应该在master(尚未)上,而是在它自己的一个独立分支上,比如说实验性的 我如何: 将D放在它自己的分支上 作为master返回C并在此分支上执行新提交 (注意:我不想只是撤销提交)首先,在D提交上创建实验性分支。此时,它将与master相同 执行git签出主控程序 执行git重置--hard HEAD~1。(这使您可以提交C) 现在执行一个推送-f(从主分支。这将推送C
master
。假设我执行了四次提交A
,B
,C
和D
。现在我才意识到,D
是一种太过实验性的东西,因此它不应该在master
(尚未)上,而是在它自己的一个独立分支上,比如说实验性的
我如何:
- 将
放在它自己的分支上D
- 作为
返回master
并在此分支上执行新提交C
(注意:我不想只是撤销提交)首先,在
D
提交上创建实验性分支。此时,它将与master
相同
执行git签出主控程序
执行git重置--hard HEAD~1
。(这使您可以提交C
)
现在执行一个推送-f
(从主分支。这将推送C
,作为master
上的最后一次提交)
这应该可以解决问题。首先,在D
commit上创建experimental
分支。此时,它将与master
相同
执行git签出主控程序
执行git重置--hard HEAD~1
。(这使您可以提交C
)现在执行一个
推送-f
(从主分支。这将推送C
,作为master
上的最后一次提交)
这应该可以解决问题。首先,您需要从master
获取experimental
分支:
mureinik@computer ~/src/git/myproject [master] $ git branch experimental
然后,您可以将master
分支到后面的一个提交:
mureinik@computer ~/src/git/myproject [master] $ git reset HEAD~ --hard
首先,您需要从master
中选择实验
分支:
mureinik@computer ~/src/git/myproject [master] $ git branch experimental
然后,您可以将master
分支到后面的一个提交:
mureinik@computer ~/src/git/myproject [master] $ git reset HEAD~ --hard
我不确定您是否可以移动提交,但您可以切换分支,然后再次提交。我不确定您是否可以移动提交,但您可以切换分支,然后再次提交。