Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Git отслеживает две даты в фиксации: дату автора и дату фиксации. Кроме того, Azure DevOps Services и Azure DevOps Server отслеживают, когда фиксация была отправлена на сервер.
-
Дата автора: когда фиксация была первоначально создана. Как правило, это дата, когда кто-то сначала побежал
git commit. - Дата фиксации: когда фиксация была применена к ветви. Во многих случаях это совпадает с датой автора. Он может отличаться, если фиксация была изменена, перебазирована или применена кем-либо, кроме автора в составе исправления. В этих случаях дата заключается в том, когда произошла перебаза или была применена исправление.
- Дата отправки: когда фиксация была отправлена в удаленный репозиторий в вопросе. Эта дата зависит от используемой удаленной системы управления версиями и недоступна в локальном репозитории.
При запуске git logдата автора по умолчанию отображается.
Если вы хотите, чтобы дата фиксации отображалась, можно использовать один из многих вариантов командной строки, например --pretty=fuller.
Давайте рассмотрим краткий пример, чтобы увидеть эти понятия на практике. Сначала создайте обычную фиксацию:
git init
echo test > file.txt
git add *
git commit -m "A normal commit message"
Теперь измените фиксацию с другим сообщением:
echo again > file.txt
git add *
git commit --amend -m "An amended commit"
Если вы проверяете журнал регулярных журналов, появится следующая информация:
git log
commit 17232459f0ae25adeff21c9e21742ba22b7f3499
Date: Thu Feb 25 19:38:54 2016 -0500
An amended commit
Теперь просмотрите ту же фиксацию с датой автора:
git log --pretty=fuller
commit 17232459f0ae25adeff21c9e21742ba22b7f3499
AuthorDate: Thu Feb 25 19:38:54 2016 -0500
Commit: Ross Brodbeck <robrodbe@microsoft.com>
CommitDate: Thu Feb 25 19:39:36 2016 -0500
An amended commit
Обратите внимание на небольшое различие между датой автора и датой фиксации в примерах.
Дата автора — это исходное время фиксации без изменения. Дата фиксации — это время выполнения --amend команды.
Многие git log варианты помогут лучше понять даты.
Например, при передаче флага --date можно определить, как отображаются даты.
Этот флаг может быть полезен для нормализации часовых поясов, так как Git отображает даты в исходном часовом поясе по умолчанию. Это также может быть полезно для изменения отображаемой строки даты.
Дополнительные сведения о параметрах форматирования см. на странице git-log man.
Изменение дат Git
Когда вы готовитесь к фиксации кода, у вас есть возможность задать даты автора и фиксации. Эта способность не является чем-то, что вы должны использовать часто.
Вы можете изменить дату автора фиксации, передав --date флаг git commitв .
Различные статьи обсуждают форматирование этого флага, но он не хорошо документирован.
Этот вопрос Stack Overflow делает большую работу, чтобы объяснить допустимые форматы дат.
Вы также можете использовать переменные GIT_COMMITTER_DATE среды и GIT_AUTHOR_DATE задать соответствующие даты, как описано на странице git-commit man.
Если вам нужно использовать этот подход, используйте этот вопрос Stack Overflow в качестве отправной точки.