我正在使用 SourceTree 和 Git-Flow 模式。现在,我为我的 beta 测试人员准备了一个发布版本进行测试,因此我创建了一个名为
那么,如何轻松使用 SourceTree(或使用 git 命令)将代码回滚到创建
附上 SourceTree 的截图:
编辑:好的,我在
但是当我这样做时,会出现以下“错误”:
release/v1.0.1
的新分支。但是,我的注意力不够集中,我决定完成(合并到 develop
和 master
并打标签)发布,即使我甚至还没有将发布发送给我的测试人员。因此,如果我的测试人员发现任何错误,我希望能再次打开发布分支,以便我可以在发布分支中修复这些错误,然后当所有错误都被修复时,我才能完成发布。那么,如何轻松使用 SourceTree(或使用 git 命令)将代码回滚到创建
release/v1.0.1
分支时的状态?附上 SourceTree 的截图:
![enter image description here](https://istack.dev59.com/dBp0y.webp)
develop
上执行了 git reset --hard HEAD~2
(HEAD~2),因为我已经手动检查过了。但是现在,当我切换到 master
并执行 git reflog
时,看起来我应该在 HEAD~6 上重置。Peters-MacBook-Pro:Remessage peterwarbo$ git reflog
f7663b1 HEAD@{0}: checkout: moving from develop to master
3d132da HEAD@{1}: reset: moving to HEAD~2
2f1c753 HEAD@{2}: checkout: moving from master to develop
f7663b1 HEAD@{3}: checkout: moving from develop to master
2f1c753 HEAD@{4}: merge release/v1.0.1: Merge made by the 'recursive' strategy.
4332fe4 HEAD@{5}: checkout: moving from master to develop
f7663b1 HEAD@{6}: merge release/v1.0.1: Merge made by the 'recursive' strategy.
fe323ef HEAD@{7}: checkout: moving from release/v1.0.1 to master
28a63ea HEAD@{8}: commit: Bumped version number to 1.0.1
但是当我这样做时,会出现以下“错误”:
Peters-MacBook-Pro:Project peterwarbo$ git reset --hard HEAD~6
fatal: ambiguous argument 'HEAD~6': unknown revision or path not in the working tree.
编辑2: 新图片以说明疏忽。
编辑3: 附加新图片以说明在使用user1615903的答案中发出git命令后的当前状态。为什么显示develop滞后2个版本?即使我将其重置到初始提交(fe323ef
),为什么还会有合并自release/v1.0.1
到master的情况?
master
和develop
进行的合并。 - Peter Warborelease/v1.0.1
分支并进行提交以提高版本号的状态。 - Peter WarboHEAD~6
(从 HEAD 往前数 6 次提交)与HEAD@{6}
(往回数 6 次 git 操作)不同。 - Gareth