我有一台 Amazon EC2 机器。我想在这台机器上克隆一个旧版本的 github repo。通常我使用 git clone https://linktomyrepo.git 我如何克隆旧版本,比如 14 天前的更新?我可以在存储库的提交历史中看到我需要的确切版本,但不知道如何将它克隆到 EC2 机器上。我需要在每次提交旁边使用小 SHA 代码吗?
您始终可以使用提交哈希检查任何给定的状态。
例如,通过查看日志,您确定 233ab4ef 是您感兴趣的状态:发出 git checkout 233ab4ef
以检查该状态。
实现此目的的另一种方法是使用 git checkout @{14.days.ago}
Git 不是这样设计的。克隆存储库时,您将复制所有版本。
所以首先克隆一个存储库(它最初会签出最新版本),然后签出你真正想要的版本。
您可以根据哈希签出提交。
git checkout afe52
您还可以根据日期结帐(而不是查找哈希),例如:
git checkout 'master@{1979-02-26 18:30:00}'
git checkout @{14.days.ago}
要检查您可以签出的提交,请使用 git log
。
git tag
并查看该特定标签的详细信息,您可以使用 git cat-file tag TAG_NAME
例如我可以在节点存储库中使用 git cat-file tag v4.4.7
给我展示提交字符串 { 4}。 :)
同样对于 Github.com UI,
对于那些想要下载特定提交的人,步骤如下:
转到“提交” 单击所需提交右侧的“<>”图标 选择克隆或下载 下载 ZIP
专门针对 github.com UI 发布此解决方案。
我使用的是旧版本的 Keycloak 并想下载源代码。在 github.com 上,这是一个简单的过程:
转到版本部分下载所需的版本。
https://i.stack.imgur.com/BSn6p.png
Github 上的旧版本通常意味着旧分支。例如:
https://i.stack.imgur.com/LLyW4.png
在这种情况下,您可以使用其分支名称检查旧分支:
git clone --branch <branchname> <remote-repo-url>
你可以在这里:
https://i.stack.imgur.com/7Hkbu.png
git checkout @{14.days.ago}
中的14
到底是什么?