gpt4 book ai didi

git - 如何回到之前的master分支

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

我有一个严重的 git 问题。我的一个团队成员决定在执行 git pull 命令之前不执行 Git 提交,所以 master head 落后了,所以我决定执行 git push --force。现在git分支都乱七八糟不知道怎么改。我已附上屏幕截图以显示我在说什么。

enter image description here

最佳答案

首先,不要 panic !

接下来,要求在您推送到的 repo 再次整洁之前,没有其他人推送或 pull 。如果你去那台特定的机器,你可以使用 git reflog 来查看它在这件事发生之前的位置。其他同事可能在他们的仓库中也有这个远程仓库的 master 分支的副本,如果他们没有引入困惑的版本的话。使用任一方法查找最后一个合理提交的哈希值。

如果远程服务器是一个常规的 repo,而不是 headless 的,那么你可以简单地使用 git checkout master 来确保你在 master 分支上,然后 git reset [last known good commit hash] --hard 将其设置回原来的状态。这只是假装自那次提交以来的一切都没有发生。如果您不确定自己在做什么,这种事情可能很危险,因此请务必先进行备份!

现在 repo 协议(protocol)再次干净,其他人可以从中 pull 并再次推送到它。

接下来是做出有问题的提交的人。他们可以做同样的事情:git checkout master 转到他们的 master 分支的本地副本,然后 git reset [他们已经 pull 入的最后一个已知的正确提交散列] --很难 将其移回原来的位置,然后 git pull [remote server name] master 以获取后续更改。

然后他们将不得不再次 merge 他们的更改。

要记住的 Gist 是:

  • 当出现问题时,在做任何极端的事情之前做好备份!
  • 不要 panic ,您可以使用 Git 从本质上重写历史
  • git reflog 告诉您已经 checkout 的内容,这对于撤消错误很有用
  • git reset [hash] --hard 假装自该哈希之后的所有事情都没有发生。

以后如果需要强行做某事,想想有没有什么事情是你应该先检查一下的。如果您反对 Git,这通常表明您忽略了某些事情。

关于git - 如何回到之前的master分支,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42811432/

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