Вместо ответа на высоком уровне, вот конкретное предложение: прочитайте «Shine Thrram» The Swine Before Perl . Я показываю, как разработать макрос, который выполняет несколько разных действий - конкретный поток управления, привязку и язык данных. (Кроме того, вы увидите, как на самом деле делать такие вещи.)
Используйте 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'
, Другие ответы не очень удобны для редактирования нескольких дат фиксации. Я возвратился к этому вопросу после нескольких лет для совместного использования техники.
Для изменения дат последних 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"
UIPageControl
в военно-морской панели, подобной приложению Twitter и that' s, как я смог сделать это легко. В зависимости от того, как Вы хотите настроить titleview, это может быть полезно. – Kyle Clegg 18 June 2014 в 04:34