Предполагая, что это совершенно новая перестройка, один из трюков состоит в том, чтобы запустить ветку при первом коммите и добавить туда gitignore. Теперь у вас есть «правильный» коммит во главе этой ветви. Теперь для хитрости - вы используете средство grafts
, чтобы изменить порядок предполагаемой последовательности коммитов. Обычное значение git filter-branch
сделает его постоянным, хотя старая иерархия будет по-прежнему перечисляться в originals
в refs \ info (IIRC).
Хотя это создаст ранний коммит, содержащий файл gitignore, все остальные коммиты по-прежнему будут без файла gitignore.
Edit: ----------
git-filter-branch , приводит примеры:
git filter-branch --tree-filter 'rm filename' HEAD
и вариант --index-filter
.
Вы можете просто add .gitignore
ваш .gitignore вместо удаления и использовать --index-filter
, чтобы ваше рабочее дерево оставалось целым для копирования из.
Сначала убедитесь, что у вас есть резервная копия!
Сообщите, работает ли он у вас.