Изменение даты создания коммитов в Git можно выполнить с помощью интерактивного ребейза (`git rebase -i`). Чтобы сделать это для нескольких коммитов и выставить их на одно и то же время, выполните следующие шаги:
1. **Введите интерактивный ребейз**: Начните с указания числа коммитов, которые вы хотите изменить. Например, если вы хотите изменить последние 10 коммитов, выполните команду:
```bash
git rebase -i HEAD~10
```
2. **Отредактируйте список коммитов**: Откроется текстовый редактор с перечислением ваших последних 10 коммитов. Измените слово `pick` на `edit` для каждого из коммитов, даты которых вы хотите изменить. Например, это будет выглядеть так:
```
edit abc1234 Commit message 1
edit def5678 Commit message 2
edit ghi9012 Commit message 3
...
```
3. **Сохраните и закройте редактор**: После внесения изменений сохраните файл и закройте редактор. Git начнет процесс ребейза и остановится на первом указанном коммите для редактирования.
4. **Измените дату коммита**: На каждом этапе выполнения ребейза используйте команду `git commit --amend --no-edit --date="YYYY-MM-DD HH:MM:SS"` для изменения даты. Например, если вы хотите установить дату на 17:00 текущего дня, выполните:
```bash
git commit --amend --no-edit --date="$(date -d '17:00 today' '+%Y-%m-%d %H:%M:%S')"
```
5. **Продолжайте ребейз**: После изменения даты, вы можете продолжить ребейз с помощью команды:
```bash
git rebase --continue
```
Повторяйте шаги 4 и 5, пока не измените все необходимые коммиты.
6. **Завершите процесс**: После того, как ребейз завершится, ваши коммиты будут иметь одинаковую дату.
### Учтите:
- Если ваши изменения были отправлены в удалённый репозиторий (например, на GitHub), вам нужно будет принудительно отправить изменения с помощью `git push --force`.
- Будьте осторожны с изменением коммитов, так как это может повлиять на других разработчиков, использующих тот же репозиторий.
- Использование `--force` может привести к потере данных, если кто-то другой уже совершал коммиты после ваших. Убедитесь, что вы знаете, что делаете, прежде чем продолжать.