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