gpt4 book ai didi

git - 如何将错误的更改回滚到本地 git 存储库?

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

我是 git 的新手,我遇到了一个大问题。即如果我做错了什么,如何将存储库恢复到良好状态。我已经看到如何使用“git revert”来进行更改以撤消以前的更改,并且我已经阅读了很多关于 stackoverflow 和相关位置的问题,但我还没有找到一种简单的方法来简单地说“将我的本地存储库位恢复到我执行 X 之前的状态”,其中 X 可能是提交、 merge 或其他存储库操作。

长话短说:

今天,当我尝试按照 Subtree Merging 上的 ProGit 书中的步骤为第三方依赖项 (Jasmine) 设置子树分支时,这让我特别难过。 .我按照这些步骤设置了一个本地存储库,其中包含一个跟踪远程 Jasmine 存储库的分支。然后我使用 read-tree 将它连接到我的项目中的一个子目录,一切都很好。不幸的是,Jasmine 分支包含一个对非公共(public) URL 的子模块引用,当我试图解决这个问题时,我在跟踪远程存储库的分支上进行了更改(并提交)。无论我做什么来尝试恢复这些提交/更改,我的“git push”命令都无法再工作,因为存储库认为我对 Jasmine 代码进行了更改,并试图通过我正在跟踪的公共(public) URL 将它们推回.

总结:由于我的 git 新手状态,我搞砸了我的部分存储库,并且无法弄清楚如何将它恢复到发出命令之前的原始状态。

无论如何,是否可以通过一些提交/更改来回滚整个存储库,或者我是否只需要再次克隆它并在发生这种情况时重新开始?

最佳答案

使用 git-reflog

git reflog

找出你想返回的版本

git reset HEAD@{n}

(将 n 替换为正确的数字)

如果你有不干净的工作树,也许 git reset --hard 之后;非常小心,因为那些将无法恢复)

关于git - 如何将错误的更改回滚到本地 git 存储库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5695701/

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