【发布时间】:2012-09-04 02:43:30
【问题描述】:
我有一台 Amazon EC2 机器。我想在这台机器上克隆一个旧版本的 github repo。通常我使用 git clone https://linktomyrepo.git 我如何克隆旧版本,比如 14 天前的更新?我可以在存储库的提交历史中看到我需要的确切版本,但不知道如何将其克隆到 EC2 机器上。我需要在每次提交旁边使用小 SHA 代码吗?
【问题讨论】:
标签: git github git-checkout
我有一台 Amazon EC2 机器。我想在这台机器上克隆一个旧版本的 github repo。通常我使用 git clone https://linktomyrepo.git 我如何克隆旧版本,比如 14 天前的更新?我可以在存储库的提交历史中看到我需要的确切版本,但不知道如何将其克隆到 EC2 机器上。我需要在每次提交旁边使用小 SHA 代码吗?
【问题讨论】:
标签: git github git-checkout
您始终可以使用提交哈希检查任何给定状态。
例如,通过查看日志,您确定 233ab4ef 是您感兴趣的状态:发出 git checkout 233ab4ef 以检查该状态。
实现此目的的另一种方法是使用git checkout @{14.days.ago}
【讨论】:
14 中的 git checkout @{14.days.ago} 到底是什么?
同样适用于 Github.com UI,
对于那些想要下载特定提交的人,步骤如下:
【讨论】:
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给我看看提交字符串0974fc6a25c343744235331eb20d31f6412ff7e1。 :)
【讨论】: