Как получить последнюю дату фиксации из репозитория git?

Мне нужна последняя дата фиксации в git. Это означает последнюю дату обновления в моей программе.

Я использовал команду: $ git log -1 но эта команда даст мне дату из локального репозитория. Скорее мне нужна дата из удаленного репозитория.

Я попробовал несколько команд, как следует.

git log -n 1 origin/Sprint-6.
git rev-parse --verify HEAD

Ответ 1

Следующая команда будет полезна:

git log -1 --format=%cd 

Это будет печатать последнюю дату изменения для одного файла. -1 показывает одну запись в журнале (самая последняя), а --format=%cd - дата фиксации. Подробное описание параметров см. В документации для git-log.

Ответ 2

Получить дату последней фиксации:

Вам нужна "последняя дата фиксации в репозитории для данного пользователя git и проекта git для данной ветки.

Дата, за которой вы следите, является последней датой, отображаемой при посещении вашего репо и переходе к commits → master например:

https://github.com/sentientmachine/TeslaAverageGainByMonthWeekDay/commits/master

В верхней части страницы отображается самая последняя дата принятия.

Получить дату последнего локального коммита в git используя терминал

Используйте git help log для получения дополнительной информации о кодах формата для передачи в --format чтобы сообщить git log, какие данные нужно извлечь.

Дата последнего коммита в git:

git log -1 --format="%at" | xargs -I{} date -d @{} +%Y/%m/%d_%H:%M:%S
#prints 2018/07/18 07:40:52

Но, как вы указали, вы должны выполнить эту команду на компьютере, который выполнил последний коммит. Если дата последней фиксации была выполнена на другом компьютере, приведенная выше команда сообщает только о локальной последней фиксации... Итак:

Или в репозитории: получить дату последнего коммита git

То же, что и выше, но сначала сделайте git pull.

git pull; 
git log -1 --format="%at" | xargs -I{} date -d @{} +%Y/%m/%d_%H:%M:%S
#prints 2018/07/18 09:15:10

Или используйте git JSON API:

git тянет по расписанию не круто, потому что он медленный и вы загружаете сервер ненужным сетевым трафиком. Просто запросите git rest api:

#assuming you're using github and your project URL is visible to public:
# https://github.com/yourusername/your_repo_name

#then do:
curl https://api.github.com/repos/yourusername/your_repo_name/commits/master

Это взрывает вас перед лицом экрана, полного json, поэтому отправьте его вашему любимому парсеру json и получите поле с именем date:

curl https://api.github.com/repos/<your_name>/<your_repo>/commits/master 2>&1 | \
grep '"date"' | tail -n 1
#prints "date": "2019-06-05T14:38:19Z"