2010-08-01 6 views
4

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

ответ

0

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

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

1

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

См. Best practice to store .jar files in VCS (SVN, Git, …).

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


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

Смежные вопросы