@zlodiak

В чём разница между git reset и git reset --soft?

У меня есть ветка master с несколькими коммитами:
* 1f52e4c 2018-02-20 | w3 (HEAD -> master) [zlodiak]
* 19299b6 2018-02-20 | w2 [zlodiak]
* ec499c2 2018-02-20 | w1 [zlodiak]
* fcbc61d 2018-02-20 | q1 [zlodiak]
* aae9725 2018-02-19 | cherry -1 [zlodiak]
*   5e5f31e 2018-02-19 | f [zlodiak]
|\  
| * 84611db 2018-02-19 | 5 [zlodiak]
| * 175f012 2018-02-19 | 2 [zlodiak]
* | 9f8fb98 2018-02-19 | 6 [zlodiak]
* | f25a332 2018-02-19 | 3 [zlodiak]
|/  
* 408d717 2018-02-19 | 1 [zlodiak]
* 710b3ba 2018-02-19 | 0 [zlodiak]


допустим, я захотел откатиться на несколько коммитов назад и продолжить историю заново с этого коммита. Я деалаю так:
kalinin@lenovo /var/www/html/misc/tag $ git reset ec499c2
Unstaged changes after reset:
M	index.html
kalinin@lenovo /var/www/html/misc/tag $ git log --pretty=format:"%h %ad | %s%d [%an]" --graph --date=short --all
* ec499c2 2018-02-20 | w1 (HEAD -> master) [zlodiak]
* fcbc61d 2018-02-20 | q1 [zlodiak]
* aae9725 2018-02-19 | cherry -1 [zlodiak]
*   5e5f31e 2018-02-19 | f [zlodiak]
|\  
| * 84611db 2018-02-19 | 5 [zlodiak]
| * 175f012 2018-02-19 | 2 [zlodiak]
* | 9f8fb98 2018-02-19 | 6 [zlodiak]
* | f25a332 2018-02-19 | 3 [zlodiak]
|/  
* 408d717 2018-02-19 | 1 [zlodiak]
* 710b3ba 2018-02-19 | 0 [zlodiak]


В результате несколько коммитов удалились, а рабочий каталог не изменился. То, что произошло меня устраивает.

НО я не понимаю чем команда, которую я использовал(git reset ec499c2) отличается от команды git reset --soft ec499c2. На мой взгляд эти команды делают одно и то же. А именно Откатывают историю коммитов и при этом не изменяют состояние рабочего каталога.

Объясните пожалуйста разницу.
  • Вопрос задан
  • 524 просмотра
Решения вопроса 1
VladimirAndreev
@VladimirAndreev
php web dev
--soft сбрасывает коммит так, будто git add на файлы сделан
--mixed сбрасывает коммит так, будто не было git add на эти файлы, это по-умолчанию.
--hard сбрасывает коммит и удаляет изменеия. Но, коммит доступен по своему хэшу, если он не удален gc
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы