gpt4 book ai didi

Git:使用不正确的分支创建了一个修补程序

转载 作者:太空狗 更新时间:2023-10-29 14:35:23 24 4
gpt4 key购买 nike

我有一个 master 分支和一个 develop 分支。我的生产环境使用 master 分支,而 develop 分支通常提前几次提交。

我需要为生产添加一个快速补丁。我通常会做的是:

  • git checkout 大师
  • git checkout -b my-hot-fix
  • (进行我的修补程序更改并提交)
  • git checkout 开发
  • git merge my-hot-fix
  • git checkout 大师
  • git merge my-hot-fix

在这种情况下,我不小心忘记了第1步,这意味着我在创建my-hot-fix时在develop分支上。直到最后一步,我才意识到这一点,将hot fix merge 到master中。我没有得到一个小的改变,而是从开发分支收到了一些先前的提交。

我该如何扭转这种局面?请注意,我还没有将更改推送到上游。

注意:关于意外 merge 还有其他SO问题。我的问题不止于此 - 它的出现是因为我正在 merge 的分支是从错误的分支创建的。

最佳答案

最好的办法是简单地重置 masterdevelop 上的更改以与远程同步。因此,假设您的 Remote 名为 origin:

git checkout master && git reset --hard origin/master

git checkout develop && git reset --hard origin/develop

然后这次你可以从 master 创建一个新的修补程序分支,然后 git cherry-pick 你想要的提交,如下所示:

查找提交哈希:

git log my-hot-fix

然后:

git cherry-pick MY_COMMIT_HASH

然后您可以从第 4 步 (git checkout develop) 开始继续。

你很幸运,因为你还没有 push 。如果您遇到困难并想要恢复本地更改,您可能还想查看 git reflog 命令。真的很强大! https://git-scm.com/docs/git-reflog

关于Git:使用不正确的分支创建了一个修补程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53409787/

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