Шпаргалка по командам Git
Система управления версиями (от англ. Version Control System, VCS) — программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.
Настройка¶
Перед началом работы нужно выполнить некоторые настройки.
Указать свое имя, которое будет использоваться в качестве автора коммита
Установить свой адрес электронной почты, который будет использоваться в качестве автора коммита
Если вы в Windows, включить преобразование окончаний строк из CRLF в LF
Создание репозиториев¶
Инициализировать новый репозиторий Git
Клонировать существующий репозиторий
Если нужен не дефолтный бранчВнесение изменений¶
Проверить состояние вашего репозитория
Добавить файл в тестовую область
Добавить все измененные и новые файлы в тестовую область
Зафиксировать изменения с комментарием
Удалить файл из промежуточной области
Просмотр истории¶
Просмотр истории коммитов
Просмотр изменений, которые не были подготовлены
Просмотр внесенных изменений
Работа с удаленными репозиториями¶
Добавить удаленный репозиторий
Отправка изменений в удаленный репозиторий
Извлечь изменения из удаленного репозитория
Ветвление¶
Список всех веток
Создать новую ветку
Создать новую ветку и перейти на неё
Отправить наш новую ветку на сервер
Удалить ветку
Перейти на ветку
Объединение¶
Объединить ветку с текущей веткой (
Работа с отложенными изменениями¶
Отложенные изменения
Просмотр списка отложенных изменений
Применить последнее отложенное изменение
Отменить последнее отложенное изменение
Маркировка¶
Создать новый тег
Создать новый тег с сообщением
Удалить тег
Отправка тегов в удаленный репозиторий
Откат изменений¶
Вернуть последний коммит
Вернуть состояние на 4 дейстия назад
Отменить конкретный коммит
Сброс¶
Сбросить промежуточную область до последнего коммита
Сбросить промежуточную область и рабочий каталог до последнего коммита
Сбросить промежуточную область и рабочий каталог до определенного коммита
Псевдонимы¶
Создание псевдонимов для часто используемых команд
echo "# название" >> README.md
- создание файла README.mdgit init
- инициализация репозиторияgit add README.md
- добавления файла README.md в проектgit commit -m "first commit"
- получает проиндексированный снимок состояния и выполняет его коммит в историю проектаgit remote add origin https://github.com/stanruss/название.git
- команда, которой устанавливается подключение к удаленному серверу и git репозиторию, размещающемуся на нем.-
git push -u origin master
- кзменения отправляются на удаленный сервер -
git log --oneline
- посмотреть все коммиты. git checkout .
- восстановить все.git checkout "код коммита"
- вернуть до состояния этого коммита.git checkout master
- вернуться в ветку мастер.
Восстановить файлы на локальном компьютере:¶
git fetch --all
-
git reset --hard origin/master
илиgit reset --hard origin/<название_ветки>
-
git add text.txt
- Добавить файл в репозиторий git rm text.txt
- Удалить файлgit status
- Текущее состояние репозитория (изменения, неразрешенные конфликты и тп)git commit -a -m "Commit description"
- Сделать коммитgit push origin
- Замерджить все ветки локального репозитория на удаленный репозиторийgit push origin master
- Аналогично предыдущему, но делается пуш только ветки mastergit push origin HEAD
- Запушить текущую ветку, не вводя целиком ее названиеgit pull origin
- Замерджить все ветки с удаленного репозиторияgit pull origin master
- Аналогично предыдущему, но накатывается только ветка mastergit pull origin HEAD
- Накатить текущую ветку, не вводя ее длинное имяgit fetch origin
- Скачать все ветки с origin, но не мерджить их в локальный репозиторийgit fetch origin master
- Аналогично предыдущему, но только для одной заданной веткиgit checkout -b some_branch origin/some_branch
- Начать работать с веткой some_branch (уже существующей)git branch some_branch
- Создать новый бранч (ответвится от текущего)git checkout some_branch
- Переключиться на другую ветку (из тех, с которыми уже работаем)git branch # звездочкой отмечена текущая ветвь
- Получаем список веток, с которыми работаемgit branch -a # | grep something
- Просмотреть все существующие ветвиgit merge some_branch
- Замерджить some_branch в текущую веткуgit branch -d some_branch
- Удалить бранч (после мерджа)git branch -D some_branch
- Просто удалить бранч (тупиковая ветвь)git show d8578edf8458ce06fbc5bb76a58c5ca4a58c5ca4
- Изменения, сделанные в заданном коммитеgit push origin :branch-name
- Удалить бранч из репозитория на сервереgit reset --hard d8578edf8458ce06fbc5bb76a58c5ca4a58c5ca4
- Откатиться к конкретному коммиту и удалить последующие (хэш смотрим в «git log»)git push -f
- залить на сервер измененные коммитыgit clean -f
- Удаление untracked files