Ответ 1
git log --format=%aD <FILE> | tail -1
С помощью этой команды вы можете вывести всю дату об этом файле и извлечь последний
Есть ли простая команда Git для определения "даты создания" файла в репозитории, то есть даты, когда она была первой добавлен?
Было бы лучше, если бы это можно было определить даже при переименовании/перемещении файлов. Я хотел бы, чтобы это был компьютерно-читаемый однострочный вывод; возможно, я не понял правильные варианты git log <fname>
, чтобы сделать это.
git log --format=%aD <FILE> | tail -1
С помощью этой команды вы можете вывести всю дату об этом файле и извлечь последний
Собственное решение:
git log --diff-filter=A --follow --format=%aD -1 -- <fname>
Он дает дату создания last "файла в репозитории и делает это независимо от переименования/перемещения файлов.
-1
является синонимом --max-count=1
и ограничивает количество коммитов для вывода (не более одного в нашем случае).
Чтобы получить дату создания first, мы должны использовать параметр --reverse
без ограничений (поскольку limit применяется перед заказом).
git log --diff-filter=A --follow --format=%aI --reverse -- <fname> | head -1
%aI
указывает дату в строгом формате ISO 8601 (например, 2009-06-03T07:08:51-07:00
).
Но эта команда не работает должным образом из-за известной ошибки в Git (см. " - follow игнорируется при использовании с --reverse" в Git maillist). Итак, мы вынуждены некоторое время использовать некоторую работу, чтобы получить дату создания first.
git log --diff-filter=A --follow --format=%aI -- <fname> | tail -1