Git — распределённая система управления версиями.
Любая другая VCS
Git
Новый git repo
git init — инициализировать git репозиторийgit remote add <NAME> <URL> — добавить удаленный репозиторийСуществующий git repo
git clone <URL> — склонировать репозиторийgit clone <URL> <PATHNAME> — склонировать репозиторий в определенную директориюПротоколы передачи для git:
git add <FILENAME> — добавить файл в индексgit commit -m "<MESSAGE>" — зафиксировать изменения файлаgit status — текущее состояние файлов в репозиторииУдаление файлов
git rm <FILENAME> — удалить файлgit rm --cached <FILENAME> — удалить только из индексаПеремещение файлов
git mv <FILE_FROM> <FILE_TO> — переместить/переименовать файлСоздание веток
git branch <NAME> — создать веткуПереключение веток
git status — узнать текущую веткуgit checkout <NAME> — переключиться на веткуgit checkout -b <NAME> — создать и переключиться на веткуgit switch <NAME> — переключиться на веткуgit switch -c <NAME> — создать и переключиться на веткуgit switch - — вернуться к предыдущей извлечённой веткеgit merge <BRANCH> — влить изменения из ветки BRANCH в текущуюgit merge --ff <BRANCH> — “быстро перемотать” текущую ветку на BRANCH, если BRANCH - продолжение текущей веткиgit merge --no-ff <BRANCH> — создать коммит слияния ветки BRANCH в текущуюgit merge --ff-only <BRANCH> — “быстро перемотать” текущую ветку на BRANCH по возможностиgit remote show <remote> — получить список удаленных веток<remote>/<branch> — название ветки слеженияgit fetch <remote> — синхронизация вашего локального репозитория с удалённымgit push <remote> <branch> — отправить изменения в удаленный репозиторий в ветку <branch>git push <remote> <branch>:<other branch> — отправить изменения из ветки <branch> в удаленный репозиторий в ветку <other branch>git checkout -b <branch> <remote>/<branch> — подтянуть новую удаленную ветку в локальный репозиторийgit checkout --track <remote>/<branch> — подтянуть новую удаленную ветку в локальный репозиторийgit pull — получить изменения в текущую ветку из удаленной (при наличии ветки слежения)git pull <remote> <branch> — получить изменения в текущую ветку из удаленной ветки <branch>git log — показать всю историю измененийgit log -p -2 — показать историю изменений с патчамиgit log --stat — показать историю изменений со статистикойgit log --pretty=oneline — показать каждый коммит в одну строкуgit log --pretty=oneline" --graph — показать историю изменений в виде ASCII графаgit log -S <function_name> — показать коммиты где была добавлена или удалена строкаgit log -- <path/to/file> — показать коммиты где менялся только этот файл