【问题标题】:how to get sha hash of previous version, git如何获取以前版本的 sha hash,git
【发布时间】:2012-09-24 10:09:04
【问题描述】:

我从 Git 存储库下载了一个开源代码。现在我想恢复到以前的版本。我怎样才能做到这一点?有这样的命令:“git revert ,但我不知道版本的哈希,比如代码的版本 264

最好的问候

【问题讨论】:

  • git 中没有“版本 264”。你从哪里得到这个号码的?
  • 可能来自svn 的心态。
  • 是的,svn 心态。请问如何在git中恢复到以前的版本?

标签: git revert


【解决方案1】:

cd 进入 git 存储库。输入git tag 并查看您要查找的版本是否出现。如果是这样,你很幸运。然后你可以做这样的事情(我假设你正在寻找的版本显示为v1.2.3):

git checkout v1.2.3
autoreconf # with git repos, this is often necessary before the next step
./configure
make
sudo make install

如果版本没有以git tag 显示,那么您需要执行类似git log --oneline | more 的操作,并以这种方式查找相关的哈希ID。如果这给您的信息太少,请git log | more

【讨论】:

    【解决方案2】:
    git rev-list --tags --max-count=2
    

    还会列出最后两个标签 SHA1。第二个是 git checkout 工作所需的(并将 repo 的内容恢复为以前的标签)

    一旦你有了那个 SHA1,git describe --tags xxx 就会把这个 SHA1 转换成一个标签标签。

    【讨论】:

    • 这几乎回答了我的问题,但有一件事还不清楚。我知道
    • @aqavi_paracha 并不是说​​到达前一个标签与到达前一个提交不同:一个标签引用一个提交,而前一个标签可以引用一个...... 50 次提交!
    【解决方案3】:

    您可以使用gitk 来探索存储库及其历史记录和版本的哈希,或者对于提交消息的简单输出和提交哈希使用git log

    【讨论】:

      猜你喜欢
      • 2018-03-04
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      • 2021-09-05
      • 2012-07-25
      • 1970-01-01
      • 1970-01-01
      • 2016-12-31
      相关资源
      最近更新 更多