1

Я хочу навсегда удалить старую ревизию (или ревизии) одного файла из Git. В частности, я хочу удалить с моего общедоступного сервера git репо мою первоначальную опубликованную версию одного файла, но оставлю остальные его версии. Как я могу это сделать?

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

Большое спасибо!

git удалить самые старые ревизии файла https://stackoverflow.com/questions/930612/git-remove-oldest-revisions-of-a-file

Полностью удалить (старые) git коммиты из истории https://stackoverflow.com/questions/4987341/completely-remove-old-git-commits-from-history

Как вы удаляете конкретную ревизию в истории git? https://stackoverflow.com/questions/37219/how-do-you-remove-a-specific-revision-in-the-git-history

1 ответ1

0

Если история проста (линейна), следует выполнить команду git rebase -i (другие альтернативы будут делать то же самое). Если у вас есть несколько веток, вам придется перенести их на основную ветку в правильных точках (ваш "перезаписать один ранний коммит" повлияет только на ветку, которую вы изменяете, другие просто сохранят первоначальную историю).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .