gpt4 book ai didi

git - 还原 merge Git-Flow

转载 作者:太空狗 更新时间:2023-10-29 13:30:13 25 4
gpt4 key购买 nike

我正在使用 SourceTree 和 Git-Flow 模式。现在我已经为我的 beta 测试人员准备了一个版本来测试,所以我创建了一个新的 release/v1.0.1 分支。但是我的想法滑倒了,我决定完成( merge 到 developmaster 并标记)发布,即使我什至没有将发布发送给我的测试人员。因此,如果我的测试人员发现任何错误,我希望再次打开发布分支,我可以在发布分支中修复这些错误,然后当所有错误都修复后,我可以完成发布。

那么我怎样才能更轻松地使用 SourceTree(或使用 git 命令)恢复到我拥有 release/v1.0.1 分支时的状态?

来自 SourceTree 的附加屏幕转储:

enter image description here

编辑: 好的,我在 develop (HEAD~2) 上执行了 git reset --hard HEAD~2 因为我已经手动测试了 checkout 。但是现在当我 checkout 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: 新图像来说明他妈的。

enter image description here

编辑 3: 在 user1615903 的回答中发出 git 命令后,附上新图像以说明当前状态。为什么说develop落后2?为什么从 release/v1.0.1 merge 到 master,即使我将 master 重置为初始提交 (fe323ef)?

enter image description here

最佳答案

这很容易。您需要做的事情是:

  • 将开发分支重置为 merge 前的提交

  • 将主分支重置为 merge 前的提交

  • 让发布分支再次指向正确的提交

  • 移除标签

  • 将固定提交推送到远程

所以执行步骤 1 和 2:

git checkout develop
git reset --hard 4332fe4

git checkout master
git reset --hard <SHA of the commit the master was before the merge>

然后“重新创建”发布分支:

git checkout -b "release/v1.0.1" 28a63ea

最后删除标签:

git tag -d v1.0.1

有关撤消 merge 的更多信息,请参阅 this stackoverflow question

之后,如果更改已经推送,则需要使用 -f 开关覆盖远程更改:

git push -f

并从远程删除标签:

git push --delete origin v1.0.1

关于git - 还原 merge Git-Flow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16081260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com