[英]Git branching from an older revision and rolling back the current branch
我不太了解Git,对于我们的一个存储库,我犯了一个错误。
我承诺并将更改推送到名为“core”的分支。 但后来我意识到我的改变不应该存在 - 我应该在几个版本之前创建一个新的分支,比如说,“核心实验”。
为了解释,我有:
A---B---C---D---E "core"
但现在我想改变它
A---B "core"
\
C---D---E "core-experimental"
我的团队中没有其他人已撤下我的更改,所以我所做的任何恢复都不应该给任何人带来痛苦。
这对Git来说可能吗?
其他两个答案工作正常,但您实际上可以避免在工作树中执行任何操作:
# create core-experimental using core as starting point
git branch core-experimental core
# move core
git branch -f core <SHA1 of B>
这样,即使您在工作树中进行了本地修改,也无需在结帐/重置期间更新一堆时间戳,这将导致您必须重建(假设这是一个已编译的项目)。
git checkout core
git branch core-experimental
git reset --hard <SHA of B>
git push -f <remote> core
或者更具描述性......
核心:
git branch core-experimental
git reset --hard <revision-B>
然后:
git push -f
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.