Git: как получить все файлы на определенную дату

Я уверен, что это можно сделать (?) (В ясном случае это было бы довольно просто).

3 ответа

Решение

Не забывайте, что временные метки файлов не записываются в DVCS, таких как Git.
Есть только отметка времени коммита, и вы можете легко оформить коммит с определенной даты.

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

(Примечание: такая проверка даст вам отдельную ГОЛОВУ)


В ClearCase это легко, если вы установите для параметра "сохранить время файла" значение true.
(если нет, вы на самом деле записываете время регистрации каждого файла, что немного похоже на временную метку коммита Git, за исключением каждого файла)

Использование git log to determine a suitable revision to switch to, eg:

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

This will show all the commits on 2010-04-01, so just pick the one that corresponds to the instant you want the files for, and note its commit id. Тогда просто используйте git checkout COMMIT-ID to switch the workspace to that commit. This will detach your workspace (HEAD) from the current branch, use git checkout master возвращать.

Во -первых, вы должны получить строку, которая идентифицирует коммит:

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

он печатает строку (например, XXXX), копирует ее и выполняет следующую команду:

git checkout XXXX
Другие вопросы по тегам