Чтобы использовать git нужно знать три с половиной команды, гуглящихся за 10 минут.
Но вот вам еще парочку действительно удобных: switch и restore. Их не существовало до прошлой осени.
Как известно, git - это инструмент для работы с бранчами. Поэтому бывает люто неудобно изучать какие-то негуманоидные свичи у команды checkout, все равно через минуту ты их все забудешь.
Командой switch можно быстро переключать два бранча между собой, вот так:
Переключаемся на мастер
git switch master
# Переключаемся на фичу в бранче feature-123
git switch feature-123
# Возвращаемся на предыдущий бранч, т.е. master
git switch -
# Создаем новый бранч feature-234
git switch -c feature-234
Теперь можно непрерывно писать git switch в консоли как безумный, и ничего не запоминать!
Команда restore помогает восстанавливать состояние файлов.
# Давайте сделаем что-нибудь хорошее в своей жизни
echo "ебанина" >> file.txt
git add .
git commit -a -m "Я люблю ебанину"
# Тепреь, давайте перечернем это плохим поступком
echo "хуерга" >> file.txt
# И тут же исправим зло
git restore .
git status
# Кэп, всё чисто! Добрая ебанина вернулась на место!
# Давайте сделаем абсолютное зло
echo "ебатрия" >> file.txt
git add file.txt
git status
# Файл действительно изменился, рядом с хорошей ебаниной есть плохая ебатрия, и она стоит в очередь на коммит :(
git restore .
git status
# Злой файл никуда не девался, продолжает быть в очереди на коммит
# Капитан Стейджед спешит на помощь
git restore --staged .
git status
# Файл вылетел из списка файлов, включенных в коммит, но содержимое у него до сих пор злое. Но мы уже знаем, как с этим бороться!
git restore .
git status
# Добрая ебанина вернулась на место и услаждает наш взор и чреслы
# Кроме того, можно отдельный файл вернуть на состояние конкретного коммита (в данном случае олег - это хеш коммта)
git restore -s oleg49 file.txt
Вот и сказочке конец, кто не слушал - долбанец!