Menu
Coddy logo textTech

Шпаргалка по Git

Последнее обновление

Настройка и конфигурация

Разовая настройка, чтобы ваши коммиты подписывались правильно.

КомандаЧто делает
git config --global user.name "Ada"Задать имя для коммитов
git config --global user.email you@x.comЗадать email для коммитов
git config --listПоказать всю текущую конфигурацию
git config --global init.defaultBranch mainНазывать первую ветку новых репозиториев main
git config --global core.editor "code --wait"Задать редактор по умолчанию
git --versionВывести установленную версию Git

Создание и клонирование

Создать новый репозиторий или скопировать существующий.

КомандаЧто делает
git initСоздать новый репозиторий в текущей папке
git clone <url>Скопировать удалённый репозиторий локально
git clone <url> mydirКлонировать в папку с заданным именем
git clone --depth 1 <url>Поверхностное клонирование (только последний коммит)
git clone -b dev <url>Клонировать и переключиться на ветку dev

Индексация и коммиты

Запись изменений в историю проекта.

КомандаЧто делает
git add file.txtДобавить один файл в индекс
git add .Добавить в индекс все изменения в текущей папке
git add -pИнтерактивно добавить выбранные куски
git commit -m "message"Зафиксировать проиндексированные изменения
git commit -am "message"Проиндексировать отслеживаемые файлы и сделать коммит
git commit --amendИзменить последний коммит
git rm file.txtУдалить файл и проиндексировать удаление

Ветвление

Работа над изменениями в изоляции.

КомандаЧто делает
git branchПоказать локальные ветки
git branch featureСоздать новую ветку
git switch featureПереключиться на существующую ветку
git switch -c featureСоздать и переключиться за один шаг
git checkout featureСтарый способ переключения веток
git branch -d featureУдалить влитую ветку
git branch -m newnameПереименовать текущую ветку

Слияние и перебазирование

Объединение работы из двух веток.

КомандаЧто делает
git merge featureВлить feature в текущую ветку
git merge --no-ff featureВсегда создавать коммит слияния
git rebase mainВоспроизвести ваши коммиты поверх main
git rebase -i HEAD~3Интерактивно изменить последние 3 коммита
git rebase --continueПродолжить после разрешения конфликтов
git rebase --abortОтменить текущее перебазирование
git cherry-pick <hash>Применить один коммит к этой ветке

Удалённые репозитории (push, pull, fetch)

Синхронизация локального репозитория с удалённым, например GitHub.

КомандаЧто делает
git remote -vПоказать настроенные удалённые репозитории
git remote add origin <url>Привязать удалённый репозиторий с именем origin
git fetchСкачать изменения с удалённого без слияния
git pullСкачать и влить удалённую ветку
git pushОтправить коммиты на удалённый репозиторий
git push -u origin mainОтправить и задать upstream-ветку
git push origin --delete featureУдалить удалённую ветку

Просмотр (status, log, diff)

Посмотреть, что изменилось и что происходит.

КомандаЧто делает
git statusПоказать проиндексированные, неиндексированные и неотслеживаемые файлы
git logПоказать историю коммитов
git log --oneline --graphКомпактная история с графом веток
git diffНеиндексированные изменения относительно индекса
git diff --stagedПроиндексированные изменения относительно последнего коммита
git show <hash>Показать изменения одного коммита
git blame file.txtПоказать, кто последним изменил каждую строку

Отмена изменений

Безопасное восстановление после ошибок.

КомандаЧто делает
git restore file.txtОтменить неиндексированные изменения в файле
git restore --staged file.txtУбрать файл из индекса (сохранив изменения)
git reset --soft HEAD~1Отменить последний коммит, оставив изменения в индексе
git reset --hard HEAD~1Отменить последний коммит и отбросить изменения
git revert <hash>Создать новый коммит, отменяющий другой
git stashОтложить изменения на потом
git stash popВернуть последний отложенный набор изменений

Каждая команда Git, которая вам нужна, на одной странице. Эта шпаргалка по Git - быстрый справочник по повседневному контролю версий: настройка Git, индексация и коммиты, ветвление, слияние и перебазирование, синхронизация с удалёнными репозиториями и отмена ошибок.

Это стандартные команды Git, которые работают одинаково в Linux, macOS и Windows. Копируйте нужное или попробуйте их вживую в playground терминала - настоящая оболочка в браузере, ничего устанавливать не нужно.

Часто задаваемые вопросы по шпаргалке Git

Эта шпаргалка по Git бесплатна?
Да. Эта шпаргалка по Git полностью бесплатна, регистрация не требуется. Добавьте её в закладки и возвращайтесь, когда нужно посмотреть команду для ветвления, коммитов или отмены изменений.
В чём разница между merge и rebase?
git merge объединяет две ветки, создавая новый коммит слияния, который связывает их истории, сохраняя точную историю обеих. git rebase вместо этого воспроизводит ваши коммиты один за другим поверх другой ветки, создавая линейную историю без коммита слияния. Merge безопасен и не разрушает историю; rebase делает историю чище, но переписывает коммиты, поэтому не перебазируйте ветки, которые другие уже скачали.
Как отменить коммит в Git?
Это зависит от того, отправили ли вы его. Для локального коммита git reset --soft HEAD~1 отменяет последний коммит, но оставляет изменения в индексе, а git reset --hard HEAD~1 полностью их отбрасывает. Для уже опубликованного коммита используйте git revert <hash>, чтобы создать новый коммит, который его обращает, не переписывая историю.
Можно ли практиковать команды Git онлайн?
Да. Откройте playground терминала, чтобы выполнять команды Git в настоящей оболочке прямо в браузере - ничего устанавливать не нужно. А если нужна структура, бесплатный интерактивный курс Git от Coddy шаг за шагом проведёт вас от первого коммита до ветвления, слияния и удалённых репозиториев.
Подходит ли эта шпаргалка для начинающих?
Да. Она построена от настройки и коммитов (повседневные основы) к перебазированию и отмене изменений, так что верхние разделы можно использовать с первого дня и постепенно осваивать продвинутые сценарии.
Coddy programming languages illustration

Изучайте Git с Coddy

НАЧАТЬ