Git reset head - отменяем изменения в репозитории
Команда `git reset head` используется для отмены последнего коммита и вернуть изменения в рабочую директорию и индекс. В своей простейшей форме она используется без аргументов.
По сути команда `git reset HEAD` две задачи:
1. Отменить последний коммит (но не удаляя изменений). Это выполняется в случае, когда мы уже сделали коммит, но понимаем, что это не то, что мы хотели отправить в репозиторий.
В примере кода, это выглядит следующим образом:
$ git log --oneline
aa34ffc Update README.md
40dfb72 Add LICENSE
7e65478 Initial commit
$ git reset HEAD~1
Unstaged changes after reset:
M README.md
D LICENSE
В этом примере, мы отменяем последний коммит с помощью `git reset HEAD~1`. После этого мы можем вносить изменения в рабочую директорию и закоммитить их.
2. Отменить текущие изменения, когда новые файлы были добавлены в индекс.
Например, если мы добавили изменения в индекс, но понимаем, что мы не хотим коммитить эти изменения, мы можем использовать `git reset HEAD`.
В этом примере, мы отменяем последние изменения:
$ git add test.txt
$ git reset HEAD test.txt
Unstaged changes after reset:
M test.txt
В итоге, команда `git reset head` очень полезна для отмены последних изменений. Это помогает избежать ошибок и сохранить репозиторий в подходящем состоянии.