Согласно этому руководству Oracle, вы должны использовать NUMBER (3). Сумасшедший, но правда.
http://docs.oracle.com/cd/B19306_01/gateways.102/b14270/apa.htm
Я просто имел ту же проблему и закончил тем, что делал:
git rebase -i HEAD~N
(N число мерзавца фиксаций, покажет Вам)
, Который запрашивает Ваш текстовый редактор, и затем можно удалить фиксацию, которую Вы хотите путем удаления строки, связанной с ним.
Я полагаю, что один из тех будет соответствовать Вашей потребности
1 - Отмена фиксирует и сохраняет все файлы подготовленными: git reset --soft HEAD~;
2 - Отмена фиксируют и не подготавливают все файлы: git reset HEAD~;
3 - Отменяют фиксацию и полностью удаляют все изменения: git reset --hard HEAD~;
На самом деле, когда вы используете git reset
, вы должны ссылаться на фиксацию, которую вы сбрасываете на ; так что вам, вероятно, понадобится коммит db0c078
.
Более простой вариант - git reset --hard HEAD ^
, чтобы выполнить сброс до предыдущего коммита перед текущей головой; таким образом вам не придется копировать идентификаторы коммитов.
Будьте осторожны при выполнении каких-либо git reset --hard
, поскольку вы можете потерять любые незафиксированные изменения, которые у вас есть. Вы можете проверить git status
, чтобы убедиться, что ваша рабочая копия чистая, или что вы действительно хотите удалить любые изменения, которые там есть.
Кроме того, вместо HEAD вы можете использовать origin / master
в качестве ссылки, как было предложено @bdonlan в комментариях: git reset --hard origin / master