Ошибка:
Я git rebase -i --root
редактировал свою ветку, не зная, что могу перефразировать первый коммит, отличный от основного (представление по умолчанию GitHub для Windows - это сравнение с основным, скрывающее его целостность).
Я отрастил бороду в Силиконовой долине, в то время как 900+ коммитов погрузились в Sublime. Выйдя без изменений, я зарядил батарею, а затем приступил к бритью, так как все 900+ отдельных коммитов небрежно перебазированы - сбрасывая время их фиксации до настоящего времени.
Решив побить Git и сохранить первоначальное время, я удалил этот локальный репозиторий и повторно клонировал с пульта.
Теперь он заново добавил самый последний ненужный коммит к мастеру, который я хотел удалить, поэтому продолжал так.
Исчерпывающие возможности:
Я не хотел git revert
- это создаст дополнительный коммит, предоставив Git преимущество.
git reset --hard HEAD
ничего не сделал, проверив reflog
, последним и единственным HEAD
был клон - Git побеждает.
Чтобы получить самый последний SHA, я проверил удаленный репозиторий на github.com - незначительный выигрыш.
После того, как размышления git reset --hard <SHA>
сработали, я обновил другую ветку до master и 1 ... 2 ... poof! коммит вернулся - Гит побеждает.
Возвращаясь к мастеру, пора попробовать git rebase -i <SHA>
, затем убрать строку ... безрезультатно, к сожалению. « Если вы удалите строку здесь, то этот коммит будет потерян ». Ах ... в новой заметке о тролле n00b в примечаниях к выпуску 2.8.3 .
Решение:
git rebase -i <SHA>
тогда d, drop = remove commit
.
Чтобы проверить, я проверил в другую ветку, и вуаля - нет скрытого коммита для извлечения / извлечения от мастера.
https://twitter.com/holman/status/706006896273063936
Хороший день для тебя.
cherry-pick
иdelete
один коммит , который мог произойти некоторое время назад.