У меня есть репозиторий git с двумя несвязанными ветками, мастер и конфиги. Я создал конфигурации, очистил все файлы, а затем поместил только в файлы конфигурации. Теперь я хочу поместить это в удаленное репо, но как бы новую пустую ветку (без журналов всех моих изменений и старых ревизий исходной ветки).
Как я могу очистить всю историю и протолкнуть ее?
Ответы:
Очистка всех файлов не избавляет от истории. Сначала вам нужно создать ветку, у которой нет истории, и добавить свои файлы конфигурации. В наши дни
git checkout
есть--orphan
опция создания ветки без истории. Вот информация о--orphan
опции:Вот ссылка на документацию для оформления заказа . Вы также можете бегать
git help checkout
.Если вы создали свою ветку без истории, то, когда вы отправите ее на сервер, у нее тоже не будет этой истории. FWIW, это помогает мне думать о том,
git push
чтобы «удаленная ветка выглядела так же, как моя локальная». Так что, если у вас есть история, и вы продвигаетесь, у нее будет история. Если вы этого не сделаете, то нажатая ветка не будет.источник
Как я могу очистить всю историю и протолкнуть ее?
Тогда вы можете запустить свой
ср. этот однострочный
источник
Мне нужно было сделать это, чтобы отправить фрилансеру какой-то код, не делясь личной информацией и не удаляя свою историю.
Если кто-то из вас использует SourceTree, мне удалось это сделать вот так. Пожалуйста, дайте мне знать, если я сделал что-то не так или что-то забыл, поскольку я очень не знаком с управлением исходным кодом.
Когда я проверил битбакет, мне показалось, что это сработало, и моя история коммитов была отброшена.
Надеюсь, это кому-то поможет.
источник