gpt4 book ai didi

git - 源代码树 - 如何还原推送的提交

转载 作者:行者123 更新时间:2023-12-04 15:13:16 25 4
gpt4 key购买 nike

我有 2 个远程分支,分别是 dev 和 master。
我总是在 dev 分支开发并将更改 merge 到 master 分支。
但是我发现我不小心使用了master分支开发然后提交并推送到远程。

enter image description here

有什么方法可以还原它,比如取消最后一次提交而不创建新历史吗?
我正在使用源代码树

最佳答案

(CLI 解决方案 - 但仍然欢迎使用 SourceTree 解决方案)


由于您独自在 repo 上工作,没有 banch 权限方案阻止您推送,您唯一的问题是找到哪个提交是 master在你最后一次 push 之前。

您可以简单地从您的 git log --oneline master 中找到它如果您只提交了几次,则输出。从 dev 中找到最后一次 merge ,请注意提交哈希,我们称它为 <oldMasterHash> .

然后就去做

# move dev where master is now
git checkout -B dev master
git push

# now let's "repair" master
git checkout master
git reset --hard <oldMasterHash>
# here we'll need --force to push since this is a history rewrite
git push --force

...您将准备就绪,无论是本地还是远程。

关于git - 源代码树 - 如何还原推送的提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64802468/

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