|
|||||||
Команда reset, откат
Время создания: 12.12.2016 20:39
Текстовые метки: reset
Раздел: root - git
Запись: xintrea/mytetra_db_armagedec/master/base/1481567976vidpk7l7hb/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
Помимо работы с индексом, git reset позволяет сбросить состояние проекта до какого-либо коммита в истории. В git данное действие может быть двух видов: «мягкого»(soft reset) и «жесткого» (hard reset). «Мягкий» (с ключом "--soft") reset оставит нетронутыми ваши индекс и все дерево файлов и директорий проекта, вернется к работе с указанным коммитом. Иными словами, если вы обнаруживаете ошибку в только что совершенном коммите или комментарии к нему, то легко можно исправить ситуацию: git commit … - некорректный коммит; git reset --soft HEAD^ — переходим к работе над уже совершенным коммитом, сохраняя все состояние проекта и проиндексированные файлы edit WRONGFILE edit ANOTHERWRONGFILE add. Команда: git commit -c ORIG_HEAD — вернутся к последнему коммиту. Будет предложено редактировать его сообщение. Если сообщение оставить прежним, то достаточно изменить регистр ключа -с: git commit -C ORIG_HEAD Обратите внимание на обозначение HEAD^, оно означает «обратиться к предку последнего коммита». Подробней описан синтаксис такой относительной адресации будет в разделе «Хэши, тэги, относительная адресация». Соответственно, HEAD — ссылка на последний коммит. Ссылка ORIG_HEAD после «мягкого» резета указывает на оригинальный коммит. Естественно, можно вернуться и на большую глубину коммитов. «Жесткий» reset (ключ --hard) — команда, которую следует использовать с осторожностью. git reset --hard вернет дерево проекта и индекс в состояние, соответствующее указанному коммиту, удалив изменения последующих коммитов: git add. git commit -m «destined to death» git reset --hard HEAD~1 — больше никто и никогда не увидит этот позорный коммит. git reset --hard HEAD~3 — вернее, три последних коммита. Никто. Никогда. Если команда достигнет точки ветвления, удаления коммита не произойдет. Для команд слияния или выкачивания последних изменений с удаленного репозитария примеры реcета будут приведены в соответствующих разделах. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|