gpt4 book ai didi

git - 丢弃本地提交历史并将其替换为源的提交历史

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

让我们假设我的同事和我在同一个存储库上工作。我们从 GitHub 存储库推送和 pull 提交。这是事件的时间表:

  1. 我和我的同事在我们的存储库中都有最新的提交历史记录。
  2. 然后我的同事执行了 git commit --amend修改 master 中的最后一次提交.所以他覆盖了提交历史。
  3. 如果在提交历史中有多个提交并且我执行 git pull现在它会尝试将他覆盖的提交 merge 到我现有的提交历史中。
  4. 如果提交历史中只有一个提交,而我的同事修改了那个单独的提交,那么它会创建一个完全不相关的提交历史,因为最早的提交本身是不同的。如果我执行 git pull在这种情况下,我会得到这个错误:fatal: refusing to merge unrelated histories .

我想做的是丢弃我的本地提交历史并将其替换为 GitHub 上的提交历史。我知道我可以rm -rf .git但随后我必须执行许多步骤,例如 cd .. , rm -rf repo , git clone <repo-url> .我正在尝试编写这个东西的脚本,我正在寻找最直接的方法来使我的存储库与 origin 同步即使这意味着丢弃我的本地提交历史。

有没有git命令很容易让我们丢弃我的本地提交历史并将其替换为 origin的提交历史,无论这两个提交历史是否相关?

最佳答案

非常简单的命令:

git reset --hard origin/master

关于git - 丢弃本地提交历史并将其替换为源的提交历史,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54480073/

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