Как почистить удаленный GIT-репозиторий? - PullRequest
4 голосов
/ 01 августа 2010

У меня есть GIT-репозиторий с ограниченным пространством на диске, но подключенный к системе RedMine. Я упаковываю некоторые программы и загружаю репозиторий, мне не хватает места. Теперь мне нужно почистить (пакеты больше не нужны). Как я могу удалить эти пакеты из истории удаленного хранилища, учитывая, что я не могу воссоздать хранилище (оно слишком строго связано с RedMine)?

Ответы [ 2 ]

1 голос
/ 01 августа 2010

Вот почему вы должны рассмотреть возможность не использовать VCS (систему контроля версий), такую ​​как Git (которая является DVCS) или любую другую VCS для управления упаковкой и выпуском.

См. Рекомендации по хранению файлов .jar в VCS (SVN, Git,…) .

Внешний репозиторий артефактов, такой как Nexus , более адаптирован, особенно когда речь идет об очистке и удалении старых упакованных версий вашего программного обеспечения.


Я не вижу, как вы можете что-либо изменить в истории Git своего репо , в то время как сохраняя связь между этим репо и вашей системой RedMine: любое изменение вызовет новую ссылку SHA1.

0 голосов
/ 01 августа 2010

Вы можете использовать git rebase -i, чтобы "раздавить" некоторые коммиты вместе, чтобы промежуточные продукты больше не находились в хранилище, а затем git push -f на сервере.Но перебазирование вызывает проблемы, если другие используют тот же репозиторий.

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

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