我想要从特定日期克隆一个git仓库。即使这不可能,是否可以将git仓库克隆下来,然后回滚到某个日期?
例如:我的仓库自2010年5月以来已经更新,但我想要获取6月5日的版本。我希望运行以下命令:
git clone git@github.com:projectfolder -date 06-05-2010
git log --since=2010-06-05 --until=2010-06-06
将有助于缩小范围!git clone git@github.com:projectfolder
git reset --hard $(git rev-list -1 $(git rev-parse --until=2010-06-06) master)
git log --since=2010-06-05 --until=2010-06-05
查找您喜欢的提交ID,然后执行 git checkout <checkout id>
。你可以使用git的revert命令将每个提交回滚到你想要的日期,或者你可以在你感兴趣的提交处创建一个新分支。
5 May (A) -- 7 May -- master (current)
5 May (B) -- 7 May /
Git 没有办法确定你想提交 A
还是 B
。因此,你应该使用 git log
或 gitk
获取你想要的日期的 SHA1 提交 ID,然后使用 git checkout
命令检出它。