【问题标题】:how to get any old version of a repository without losing commit history如何在不丢失提交历史记录的情况下获取任何旧版本的存储库
【发布时间】:2023-02-09 23:35:45
【问题描述】:

我正在练习如何使用 github,我得到了任何旧版本的存储库不丢失提交历史.怎么做?

问题是如果我做 git reset提交编号--hard,我确实得到了特定版本的存储库,但提交历史记录被删除了。我想获取特定版本的存储库,但我不想丢失提交历史记录

【问题讨论】:

  • git checkout <hash>
  • 当您想转到旧提交时,无需重置。您可以使用git checkout the-commit-id(旧方式)或git switch the-commit-id(新方式)。
  • 所以当我做 git checkout提交编号,我确实去了旧版本,但我无法将其推送到主分支,知道问题出在哪里吗?
  • 你是什​​么意思“将其推入主分支”?你想做什么这个旧承诺?
  • 因此,在重置main 之前创建一个具有该历史记录的新分支。

标签: git github gitlab


【解决方案1】:

git reset --hard <blob> 不会立即“删除您机器上的历史记录”。使用 git log --oneline --all --graph --reflog 查看每个 blob。您可以使用 git reset --hard <blob> 返回提交。

在硬重置之前从 blob 分支也可以让您使用 git switch <branch> 轻松返回到该 blob

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 2018-07-28
    相关资源
    最近更新 更多