Ответ 1
Я знаю, что Github будет периодически запускать git gc, поскольку поддержка Github упоминает в этот поток.
Я не знаю, сможешь ли ты сама его заставить. Я не видел такого сервиса в Github hooks.
Кажется, что git gc --aggressive
действительно очищает мое репо, но когда я делаю git push
, все уже обновлено. Есть ли способ очистить сервер?
Я знаю, что Github будет периодически запускать git gc, поскольку поддержка Github упоминает в этот поток.
Я не знаю, сможешь ли ты сама его заставить. Я не видел такого сервиса в Github hooks.
Я считаю, что нажатие ваших изменений только добавит новые коммиты (по мере необходимости, чтобы достичь ветвей, которые вы нажимаете); он не удалит их. Это подтверждается этой страницей поддержки github при удалении конфиденциальных данных:
Предупредить, что принудительное нажатие не стирает фиксации в удаленном репозитории, оно просто вводит новые и перемещает указатель ветки, чтобы указать на них. Если вы беспокоитесь о том, что пользователи получают доступ к плохим коммиттам напрямую через SHA1, вам придется удалить репозиторий и заново создать его.
Итак, если вы не можете ждать периодического gitHub gc, тогда вам нужно воссоздать.
Вам также придется запускать ту же команду на стороне сервера. Большинство людей просто настраивают работу cron или аналогично, чтобы периодически выполнять этот вид домашнего хозяйства.