我正在使用 SourceTree 和 Git-Flow 模式。现在我已经为我的 beta 测试人员准备了一个版本来测试,所以我创建了一个新release/v1.0.1
分支。但是我的想法一闪而过,我决定完成(合并develop
并master
标记)发布,即使我什至没有将发布发送给我的测试人员。因此,如果我的测试人员发现任何错误,我希望再次打开发布分支,我可以在发布分支中修复这些错误,然后当所有错误都修复后,我可以完成发布。
那么,我怎样才能最好地使用 SourceTree(或使用 git 命令)轻松地恢复到我拥有release/v1.0.1
分支时的状态?
来自 SourceTree 的附加屏幕转储:
编辑:好的,我做了git reset --hard HEAD~2
on develop
(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?为什么release/v1.0.1
即使我将 master 重置为初始提交(fe323ef
),也会从 master 合并?