Удалить git commit, который не был передан

Согласно этому руководству Oracle, вы должны использовать NUMBER (3). Сумасшедший, но правда.

http://docs.oracle.com/cd/B19306_01/gateways.102/b14270/apa.htm

552
задан Lonely Neuron 1 April 2019 в 21:28
поделиться

3 ответа

Я просто имел ту же проблему и закончил тем, что делал:

git rebase -i HEAD~N

(N число мерзавца фиксаций, покажет Вам)

, Который запрашивает Ваш текстовый редактор, и затем можно удалить фиксацию, которую Вы хотите путем удаления строки, связанной с ним.

-1
ответ дан 22 November 2019 в 21:58
поделиться

Я полагаю, что один из тех будет соответствовать Вашей потребности

1 - Отмена фиксирует и сохраняет все файлы подготовленными: git reset --soft HEAD~;

2 - Отмена фиксируют и не подготавливают все файлы: git reset HEAD~;

3 - Отменяют фиксацию и полностью удаляют все изменения: git reset --hard HEAD~;

вот, были, я нашел ответ

7
ответ дан 22 November 2019 в 21:58
поделиться

На самом деле, когда вы используете git reset , вы должны ссылаться на фиксацию, которую вы сбрасываете на ; так что вам, вероятно, понадобится коммит db0c078 .

Более простой вариант - git reset --hard HEAD ^ , чтобы выполнить сброс до предыдущего коммита перед текущей головой; таким образом вам не придется копировать идентификаторы коммитов.

Будьте осторожны при выполнении каких-либо git reset --hard , поскольку вы можете потерять любые незафиксированные изменения, которые у вас есть. Вы можете проверить git status , чтобы убедиться, что ваша рабочая копия чистая, или что вы действительно хотите удалить любые изменения, которые там есть.

Кроме того, вместо HEAD вы можете использовать origin / master в качестве ссылки, как было предложено @bdonlan в комментариях: git reset --hard origin / master

584
ответ дан 22 November 2019 в 21:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: