Система контроля версий — это программное обеспечение, помогающее разработчикам управлять состоянием исходного кода на протяжение всей разработки. Другими словами, это система, которая записывает ваши изменения в файл и позже позволяет откатиться к более ранней версии проекта.
Показывает ваши изменения относительно текущего коммита + stage (важное уточнение). В diff не попадают новые файлы
git diff
Посмотреть изменения находящиеся в stage
Cюда новые файлы попадают
git diff --cached
Отменить изменения в файле
git checkout [файл]
Добавить в директорию удаленный репозиторий
git remote add origin [url]
Посмотреть список всех коммитов
git log
Посмотреть последние 3 коммита
git log -3
Откатить проект до определенной точки
Cодержимое вашего индекса, а также рабочей директории, остается неизменным. Это значит, что если мы откатимся назад на пару коммитов, мы изменим ссылку указателя HEAD на указанный коммит и все изменения, которые были до этого внесены, окажутся в индексе.
git reset --soft <commit>
Откатить проект до определенной точки
Предыдущие изменения в индекс не попадут, а будут отслеживаться как не занесенные в индекс. Это дает возможность внести в индекс только те изменения, которые нам необходимы, что довольно удобно!
git reset --mixed <commit>
Откатить проект до определенной точки
Предыдущие изменения не попадут ни в индекс, ни в зону отслеживаемых файлов. Это значит, что мы полностью сотрем все изменения, которые вносили ранее. Это также удобно, если вы знаете, что вам больше не пригодится ваша предыдущая работа над проектом.
git reset --hard <commit>
Сохранить (отложить) временные изменения
git stash save
Сохранить (отложить) временные изменения с 'названием'
git stash save "Bug Fix: Main page"
Сохранить (отложить) временные изменения которые не отслеживаются
Ещё может так случиться, что мы добавили новые файлы, которых изначально в проекте не было, — следовательно, их нам тоже нужно будет спрятать. Делается это всё той же командой git stash save, но с добавлением параметра --include-untracked, или -u:
git stash save -u
Посмотреть список всех отложенных файлов
Команда выводит список всех сохранений и их описания, которые задаются в кавычках после команды git stash save. Мы также видим, что у нас есть непонятное сохранение «WIP on main: 4532d67 our new homepage». Оно получило такое название по дефолту — просто потому, что мы не задали ему название в кавычках.
После вызова команды git stash apply изменения всё ещё остаются в локальном архиве. Чтобы достать сохранение и полностью удалить его из хранилища, используем команду git stash pop:
git stash pop
Переименовать последный коммит
Переименовать последный коммит, без необходимости добавлять файлы в коммит. Просто укажите новое название.