Есть ли способ удалить некоторые файлы из истории git? - PullRequest
6 голосов
/ 19 сентября 2008

Я перенес несколько проектов из Subversion в git. Это работает очень хорошо, но когда я клонирую свой репозиторий, он очень длинный, потому что у меня есть вся история многих файлов .jar, включенных в передачу.

Есть ли способ сохранить только последнюю версию файла определенного типа в моем основном хранилище. В основном я хочу удалить старую версию в двоичном файле.

Ответы [ 2 ]

5 голосов
/ 19 сентября 2008

Вы можете удалить старые версии с помощью «git rebase» -i или «git filter-branch»

http://schacon.github.com/git/git-filter-branch.html

http://schacon.github.com/git/git-rebase.html

Другие документы и руководства: http://git -scm.com / документация

Сохранение только текущей версии не поддерживается. Ваша лучшая ставка вместо этого держать в контроле версий небольшой скрипт, который загружает (или создает, или иным образом генерирует) большой файл .jar.

Поскольку это изменяет историю, все предыдущие клоны или извлечения из этого хранилища становятся недействительными.

1 голос
/ 19 сентября 2008

Короче говоря, это потребовало бы переписывания всего дерева git commit для исключения файлов. Вы пытались использовать git gc и git pack, чтобы git сжимал ваш репозиторий?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...