gpt4 book ai didi

git - 撤消快进 merge

转载 作者:IT王子 更新时间:2023-10-29 00:39:10 25 4
gpt4 key购买 nike

我对我的 git 存储库做了一些更改,但我想撤消这些更改。

我的 git 仓库是这样的:

A-B----     master
\ /
C-D * develop

我在develop分支,忘记了它和master分支的区别,在develop上做了个改动, merge 到master,然后推送到我的远程(称为publish)。

因为自 B(共同祖先)以来 master 没有变化,所以 git 进行了快进 merge 。

现在,我的仓库看起来像这样:

A-B-C-D   master, develop, remotes/publish/master, remotes/publish/develop.

我想还原上次 merge ,将 master 恢复到 B。

根据我在 How to undo last commit(s) in Git? 中阅读的内容,我使用 git reset sha-of-B 将我的 master 分支恢复到版本 B。

问题:

  • 如何将 develop 恢复到版本 D?
  • 然后如何将这些更改推送回远程/发布?

最佳答案

如果你重置分支master,它不会触及开发分支。为了让一切井井有条,你应该这样做:

git checkout master
git reset --hard sha-of-B
git checkout develop
git reset --hard sha-of-D
git checkout master
git merge develop --no-ff

关于git - 撤消快进 merge ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14308580/

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