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?