2014-01-25 3 views
2

У меня есть локальный репозиторий git, то есть он не используется на сервере или что-то еще, и только один человек (я) в него вложил. Теперь я хочу поделиться репо, но есть проблема:удалить все временные метки из локального репозитория git

Слишком много информации закодировано в виде фиксации времени. Другие могли бы восстановить, когда и как долго я работал над хранилищем.

Это, по-видимому, является нарушением нашей политики.

Так что я ищу способ сбросить все временные метки в моем репозитории до недопустимой даты.

Я пробовал некоторые трюки с фильтрами ветви, но это не помогло. :(

+0

Это странная политика. Вместо использования «недействительной» даты вы должны иметь возможность использовать 'filter-branch' для установки всех ваших временных меток, например, сегодня. – Chris

ответ

2
git filter-branch --env-filter ' 
export GIT_COMMITTER_DATE=2014-01-25T15:00:00 
export GIT_AUTHOR_DATE=2014-01-25T15:00:00' 

git filter-branch проходит через все коммиты и --env-filter аргумент определяет, что вы будете менять окружающую среду, в которой были сделаны коммиты.

Команда выше следует сделать трюк для сброса всех дат на сегодня

+0

да, это и делало трюк. Мне не хватало «экспорта». Можете ли вы подробно рассказать о том, что именно это делает? Документы запутывают. –

+0

'export' - команда bash, которая устанавливает переменные среды и помещает их в дочерние процессы – Learath2

Смежные вопросы