git:如何检索特定日期的所有文件

我相信这可以做到(?)(明确地说,它会很简单)。


不要忘记文件时间戳不会像Git那样记录在DVCS中。
只有提交时间戳存在,并且您可以轻松签出特定日期的提交。

git checkout master@{1 month 2 weeks 3 days 1 hour 1 second ago}

(注意:这样的结帐会给你一个分离的头)


在ClearCase中, 只要将“保留文件时间”选项设置为true即可
(如果没有,你实际记录每个文件的签入时间,这有点像Git提交时间戳,除了每个文件)


使用git log来确定切换到的合适版本,例如:

git log --since='2010-04-01' --until='2010-04-02'

这将在2010年4月1日显示所有提交,因此只需选择与您想要文件的瞬间相对应的提交,并记下其提交ID。 然后使用git checkout COMMIT-ID将工作区切换到该提交。 这会将你的工作区(HEAD)从当前分支中分离出来,使用git checkout master来返回。


首先,你必须得到标识提交的字符串:

git rev-list -n 1 --before="2009-07-27 13:37" origin/master

它会打印字符串(例如XXXX),将其复制并执行以下命令:

git checkout XXXX
链接地址: http://www.djcxy.com/p/48981.html

上一篇: git: how to retrieve all files as of a certain date

下一篇: Git: How to ignore fast forward and revert origin [branch] to earlier commit?