Команда Git-Filter Branch Удаление коммитов после определенной даты - PullRequest
1 голос
/ 01 февраля 2012

Меня попросили удалить коммиты после определенной даты наших проектов в моей компании.

Я прочитал справочные страницы веток git filter и озадачен тем, как можно запустить команду в репозитории, которая удаляла бы всю историю коммитов после определенной даты. Я клонировал копию репозитория на моей локальной машине. W7 (64-битная версия). Под управлением Cygwin я хотел бы протестировать команду перед тем, как сделать копию проекта на самом удаленном сервере.

-Спасибо

Сульман

1 Ответ

1 голос
/ 02 февраля 2012

Вам не нужно использовать filter-branch.Вы можете просто сбросить ссылки на последний коммит в истории, который удовлетворяет критериям.Для каждой ссылки выполните

git push . -f <someearlier commit>:branch-name

Затем обновите центральное репо с помощью

git push -f

или, если вы не отслеживаете ветви, укажите каждую из них:

git push -f origin branch-name

или автоматизировать с помощью

git branch -r | sed ... # etc, etc
...