В любом случае мне удастся удалить историю github commit? Я не хочу потерять все свои обязательства, только последние 10 или около того, которые были перенесены в github. Я не могу понять, как это сделать.
Удалить историю передачи Github
Ответ 1
Просто выберите хеш, который вы хотите вернуться, и в своем клоне:
git reset --hard hash#
git push -f origin branch
где branch
- название ветки, которую вы хотите нажать. Вуаля. Будьте осторожны с толчком силы. Возможно, вам захочется скопировать рабочий каталог, пока вы не знакомы с ним.
Ответ 2
Если вы хотите сделать это, вы можете использовать HEAD~10
git reset --hard HEAD~10
git push -f origin master
Не рекомендуется удалять историю фиксации сервера, особенно: если у вас есть команда людей, работающих над этим репо.
Если у вас есть команда людей, которые работают над этим, я бы рекомендовал отступить, добавив еще одну фиксацию, которая отменяет ваш код, который вам не нужен.
Ответ 3
Я загрузил все мои файлы в свой первый проект 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-канале публичной активности все еще есть ссылки на все различия, которые детализируют ту самую информацию, которую я хотел удалить. По-видимому, нет способа удалить это, но вы, вероятно, должны читать Изменить свой пароль и обновить любые конфиденциальные данные, которые вы случайно загрузили.
Ответ 4
Установив Git, вы также можете щелкнуть правой кнопкой мыши папку вашего репозитория - Git GUI здесь.
Выбрать репозиторий - визуализировать всю историю веток.
Щелкните правой кнопкой мыши требуемую историю ветвей фиксации - Reset.
Теперь у вас есть 3 варианта:
После выбора выберите File - Reload.
Удалось это выяснить после выбора Revert при фиксации в GitHub Desktop, затем снова вернуться, чтобы мы вернулись к исходному коду, то просто желающие очистить эту пару Revert совершают.