Как можно изменить временную метку старого коммита в Git?

Вместо ответа на высоком уровне, вот конкретное предложение: прочитайте «Shine Thrram» The Swine Before Perl . Я показываю, как разработать макрос, который выполняет несколько разных действий - конкретный поток управления, привязку и язык данных. (Кроме того, вы увидите, как на самом деле делать такие вещи.)

645
задан Community 23 May 2017 в 10:31
поделиться

2 ответа

Используйте git filter-branch с огибающим фильтром, который устанавливает GIT_AUTHOR_DATE и GIT_COMMITTER_DATE для определенного хеша фиксации, которую Вы надеетесь фиксировать.

Это будет делать недействительным это и все будущие хеши.

Пример:

, Если Вы хотели измениться эти даты из фиксации 119f9ecf58069b265ab22f1f97d2b648faf932e0, Вы могли бы сделать так с чем-то вроде этого:

git filter-branch --env-filter \
    'if [ $GIT_COMMIT = 119f9ecf58069b265ab22f1f97d2b648faf932e0 ]
     then
         export GIT_AUTHOR_DATE="Fri Jan 2 21:38:53 2009 -0800"
         export GIT_COMMITTER_DATE="Sat May 19 01:01:01 2007 -0700"
     fi'
482
ответ дан tbodt 23 May 2017 в 10:31
поделиться
  • 1
    @Kjuly согласился, я просто пытался добраться UIPageControl в военно-морской панели, подобной приложению Twitter и that' s, как я смог сделать это легко. В зависимости от того, как Вы хотите настроить titleview, это может быть полезно. – Kyle Clegg 18 June 2014 в 04:34

Как Отредактировать Несколько Дат Фиксации

, Другие ответы не очень удобны для редактирования нескольких дат фиксации. Я возвратился к этому вопросу после нескольких лет для совместного использования техники.

Для изменения дат последних 4 фиксаций:

git rebase -i HEAD~4

Редактирование переоснова следующим образом, вставляя exec строки для изменения дат по мере необходимости:

pick 4ca564e Do something
exec git commit --amend --no-edit --date "1 Oct 2019 12:00:00 PDT"
pick 1670583 Add another thing
exec git commit --amend --no-edit --date "2 Oct 2019 12:00:00 PDT"
pick b54021c Add some tests
exec git commit --amend --no-edit --date "3 Oct 2019 12:00:00 PDT"
pick e8f6653 Fix the broken thing
exec git commit --amend --no-edit --date "4 Oct 2019 12:00:00 PDT"
2
ответ дан 22 November 2019 в 21:44
поделиться
Другие вопросы по тегам:

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