Есть ли способ удалить некоторые файлы из истории git?

StackOverflow https://stackoverflow.com/questions/96842

  •  01-07-2019
  •  | 
  •  

Вопрос

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

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

Это было полезно?

Решение

Вы можете удалить старые версии либо с помощью "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/documentation

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top