2013-07-02 2 views
0

Я просто добавил и зафиксировал в своем репозитории, еще не нажал. Теперь в коммите есть файлы, которые на самом деле нужно игнорировать. Поэтому мне нужно отменить это добавление и фиксацию, но все файлы должны оставаться неизменными. Что делать?Отменить последнюю фиксацию, но оставить хранилище неизменным

+1

Я искал, но большинство вопросов, а также связь только что упомянули бы явно не просим хранилища в оставайся так, как есть. Поэтому я был не уверен. Но теперь я вижу, что опция «reset -soft» - это то, что мне нужно. Слишком плохо, это ничтожно мало. –

+0

'git reset --soft HEAD ^' не касается состояния репозитория, он просто удаляет последнюю фиксацию и возвращает все зафиксированные файлы в индекс, как это было перед вами, вы сделали «git commit». Затем вам просто нужно удалить файл, который вы хотите вывести из фиксации из индекса. – zmo

ответ

2

только для такого рода проблем, я добавил в моем ~/.gitconfig файле следующего псевдонима:

[alias] 
undo = reset --soft HEAD^ 
+0

Итак, делает ли это следующую команду: 'git undo'? –

+0

действительно! – zmo

+0

Ницца! Теперь мне нужно только установить его по умолчанию для git, я, вероятно, буду использовать это чаще. Спасибо! –

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