Удалить историю коммитов Github - PullRequest
31 голосов
/ 13 августа 2011

Могу ли я удалить историю коммитов на github?Я не хочу терять все свои коммиты, только последние 10 или около того, которые были отправлены на github.Я не могу понять, как это сделать.

Ответы [ 4 ]

62 голосов
/ 13 августа 2011

Просто выберите хеш, к которому вы хотите вернуться, и в вашем клоне сделайте:

git reset --hard hash# 
git push -f origin branch

где branch - название ветви, которую вы хотите нажать. Вуаля. Будьте осторожны с толчком силы. Возможно, вы захотите скопировать свой рабочий каталог, пока не ознакомитесь с ним.

4 голосов
/ 13 августа 2011

Если вы хотите сделать это, вы можете использовать HEAD~10

git reset --hard HEAD~10

git push -f origin master

Не рекомендуется удалять историю фиксации сервера, особенно: если у вас есть команда людей, работающих над этим репо.

Если у вас есть команда людей, работающих над этим, я бы рекомендовал отступить, добавив еще один коммит, отменяющий ваш код, который вам не нужен.

1 голос
/ 18 марта 2012

Я загрузил все моих файлов в мой первый проект на github, включая некоторые файлы настроек с секретными ключами.Мне пришлось вернуться и удалить все версии, которые были включены, прежде чем я добавил свой .gitignore файл и удалил все файлы настроек из кэша моего проекта.

Как я это сделал :

gedit ./.git/logs/HEAD

Найдите 40-символьный хэш SHA «нового корня», для которого вы хотите удалить все ранее.Скопируйте его в буфер обмена и закройте.(Вы можете или не можете использовать gedit, текстовый редактор по умолчанию для Linux).

$> gedit ./.git/info/grafts

Вставьте сюда SHA.Перейдите в каталог вашего проекта.

$> cd ../..

$> git filter-branch

Принудительный толчок к мастеру, иначе он заблокирует вашу попытку стереть вашу историю.

$> git push --force -u origin master

Удалите ваш grafts файл.

$> rm ./.git/info/grafts

NEVERMIND

Ну, мой ответ - только половинабоевой.В моей общедоступной RSS-ленте по-прежнему есть ссылки на все различия, в которых подробно описывается та информация, которую я хотел удалить.Очевидно, нет способа удалить это , но вам, вероятно, следует прочитать Изменить ваш пароль и обновить любые конфиденциальные данные, которые вы могли случайно загрузить.

0 голосов
/ 12 февраля 2016

При установленном Git вы также можете щелкнуть правой кнопкой мыши папку вашего хранилища - Git GUI Здесь .

Выбрать Репозиторий - Визуализация всей истории веток .

Щелкните правой кнопкой мыши нужный коммит - Сбросьте историю главной ветки сюда .

Теперь у вас есть 3 варианта:

Git

После выбора выберите Файл - Перезагрузить .

Удалось выяснить это после выбора Восстановить коммит в GitHub Desktop , затем Вернуть снова, чтобы мы вернулись к исходному коду, а затем просто захотеть очистить эту пару. Вернуть коммиты.

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