Задать вопрос

Как изменить дату создания commit-ов?

Иногда нужно поработать вечером, что бы следующий день был частично свободным. Допустим вечером я сделал 10 задач и по требованию компании под каждую задачу я должен создавать отдельный коммит. Т.е. у меня 10 коммитов с датой создания в промежутке 18:00 - 22:00. Как я могу изменить дату у этих коммитов? Не обязательно каждому задавать своё время, пусть у всех оно будет одинаковое - 17:00 текущего дня.
  • Вопрос задан
  • 754 просмотра
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 3
saboteur_kiev
@saboteur_kiev Куратор тега Git
software engineer
так и делать git commit --date "blabla"
но это если еще не делал коммит, если уже сделал то все.
Ответ написан
Комментировать
@sirxvj
Git берет время с системных часов. Но время пуша в удаленный репозиторий изменить не получится.
Ответ написан
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
Используй простой скрипт
#!/bin/bash

# === Настройки ===
COUNT=10
NEW_DATE="2025-03-27T17:00:00"

# === Автоматическая замена pick на edit ===
export GIT_SEQUENCE_EDITOR="sed -i 's/^pick /edit /'"

# === Старт интерактивного rebase ===
git rebase -i HEAD~$COUNT

# === Цикл по каждому коммиту с изменением даты ===
while ! git rebase --continue 2>/dev/null; do
  GIT_COMMITTER_DATE="$NEW_DATE" git commit --amend --no-edit --date "$NEW_DATE"
done

echo
echo "✅ Все $COUNT коммитов переписаны с новой датой: $NEW_DATE"
echo " Не забудь сделать принудительный push: git push --force"

Будут заменены обе даты: и author, и committer
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы