【问题标题】:Reverting to old commit in remote without keeping track of local commits在不跟踪本地提交的情况下恢复到远程的旧提交
【发布时间】:2023-03-23 17:30:02
【问题描述】:

我在远程here 中找到了恢复旧提交的说明。

这些是步骤:

1.) 找到最后一次好的提交的 id(SHA 哈希),这就是你想成为 HEAD 的提交

2.) 在您的本地仓库中使用以下命令获取该提交
git fetch origin :refs/remotes/origin/

3.) 如果您有尚未推送的本地提交,请创建一个本地分支来保存它们: git 分支 -b

4.) 回到原来的分支 git结帐

5.) 将分支重置为在步骤 1 中找到的良好提交: git reset --hard

6.) 将你的重置仓库推送到远程(需要强制更新): git push -f 原点

7.) 合并您在第 3 步中隐藏在分支中的提交: git 合并

我的问题是,如果我想跳过第 3 步,我也应该跳过第 4 步和第 7 步,对吗?然后我将丢失我在本地提交的本地更改。对?

谢谢

【问题讨论】:

    标签: git


    【解决方案1】:

    正确,如果您没有任何工作要保存,那么您不需要在第 3 步中创建单独的分支。

    这将使步骤 4 不相关,因为您已经在原始分支上。

    第 7 步也不相关,因为没有要合并的未完成提交。

    另外值得注意的是,如果你确实有一些未完成的提交,你不会因为跳过第 3 步而“丢失”它们。如果由于某种原因你确实需要取回它们,你可以从 Git 的 @987654321 中检索它们@。

    【讨论】:

      猜你喜欢
      • 2016-06-23
      • 2011-08-25
      • 2021-08-18
      • 2016-06-23
      • 2021-02-15
      • 2022-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多