2012-04-13 2 views
1

enter image description hereКак удалить коммит

Я хотел бы удалить коммит 9dfd73, подсвеченные. Как видите, это не ветка. Это результат отдельной головы.

Я попытался сделать ветку на нем, а затем удалить эту ветку с помощью git branch -D 9dfd73, но это удалило ветку, оставив фиксацию.

Любые идеи?

UPDATE:

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

Но я пометить его как правильный ответ, если вы можете объяснить то, что делает эта команда действительно делает :-)

мерзавец перебазироваться --onto < 9dfd73>^< 9dfd73> ГОЛОВКА

Я понимаю это что-то вроде: «возьмите все коммиты между фиксацией 9dfd73 и HEAD (за исключением HEAD) и положите их поверх фиксации 9dfd73«

Но я не понимаю символ ^.

Кроме того, я не уверен, что идентификатор должен быть таким же. Не могли бы вы объяснить дальше?

Спасибо

ответ

1

Вы должны попробовать меню Файл> релоад в gitk (Ctrl- F5). Вероятно, это приведет к исчезновению вашей фиксации, поскольку она больше не является текущей фиксацией и не находится в какой-либо ветви.

+0

Это правильный ответ на мою конкретную проблему. Мне нужно копать в git rebase -onto в любом случае, потому что это скорее быстрый способ, чем создание новой ветки и ее удаление. благодаря – RafaelGP

1

Используйте следующую команду,

git rebase --onto <commit-id>^ <commit-id> HEAD 

фиксации-идентификатор будет ваш SHA-1 Идентификатор

+0

Не можете ли вы переустановить это и удалить его? –

0

Если вы настаиваете на том, чтобы избавиться от него/сейчас, следуйте these instructions. Но не беспокойтесь об этом; он в конечном итоге исчезнет сам по себе.

Смежные вопросы