我对Git不是很熟悉,但在我们的某个代码库中,我犯了一个错误。
我提交并推送了更改到名为“core”的分支。但后来我意识到我的更改不应该在那里 - 我应该在几次修订之前创建一个新的分支,比如说,“core-experimental”。
简单说明一下,我有:
A---B---C---D---E "core"
但现在我想把它改为
A---B "core"
\
C---D---E "core-experimental"
目前我的团队中没有其他人拉取了我的更改,所以我进行的任何还原操作都不应该对任何人造成麻烦。
Git是否支持这个操作?
reset --hard
是免费的,有时在一个大型编译项目中,重置/检出需要20秒,并强制进行10分钟的编译。另一个区别是,reset
会在reflogs中放入“<commit>:updating HEAD”,而branch -f
会放入“branch: Reset to <commit>”。 - Cascabel