Шпаргалка: GIT

На этой странице представлена краткая информация по командам популярной системы контроля версий Git. В настоящее время охвачены основные команды, но в дальнейшем список будет расширяться.

Быстрый старт

  1. Создание репозитория на удалённом хостинге репозиториев.
  2. Создание репозитория на рабочем компьютере.
  3. Подключение удалённого репозитория к рабочему компьютеру.

Создание репозитория GIT

Инициализация репозитория в существующей папке

$ git init

Клонирование существующего репозитория

$ git clone <url> <directory>

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

Проверка состояния файлов

$ git status

Флаги -s или --short – упрощённый вывод информации

Индексация изменённых файлов (добавление содержимого к следующему коммиту).

$ git add <file>

Игнорирование файлов

Для игнорирования файлов (логи, временные и др.) необходимо создать файл .gitignore с примером следующего содержания:

# комментарий - это игнорируется
*.a # пропускать файлы, заканчивающиеся на .a
!lib.a # но отслеживать файлы lib.a, несмотря на пропуск файлов на .a
/TODO # игнорировать только корневой файл TODO, а не файлы вида subdir/TODO
build/ # игнорировать все файлы в папке build/
doc/*.txt # игнорировать doc/notes.txt, но не doc/server/arch.txt

Просмотр индексированных и неиндексированных изменений

$ git diff

Параметры:

--staged – просмотр что из проиндексированного войдёт в следующий коммит.

--cached – просмотр проиндексированных изменений.

Фиксация изменений

$ git commit

Параметры:

-v

-a – автоматическая индексация всех отслеживаемых файлов перед фиксацией.

-amend – повторное сохранение версии (отмена изменений)

Удаление файлов

$ git rm <file>

Параметры:

-f – принудительное удаление.

--cached – игнорировать файл

Переименование файлов

$ git mv [file_from] [file_to]

Просмотр истории версий

$ git log

Параметры:

-p – показать разницу внесённую каждым коммитом.

-2 – ограничить выводимый результат последними двумя записями.

--stat – краткая статистика изменений в каждом коммите.

--pretty – изменение формата вывода информации.

--graph – показывает ASCII-граф истории ветвлений и слияний.

Отмена индексирования

$ git reset HEAD [имя файла]

Параметр:

--hard – затронуть все файлы в рабочей папке. Опасно.

Отмена внесённых в файл изменений

$ git checkout -- <file>

Удалённые репозитории

Отображение удалённых репозиториев

$ git remote

Параметры:

-v – показать URL-адреса

Добавление удалённых репозиториев

$ git remote add [сокращенное имя] [url]

Извлечение данных из удалённых репозиториев

$ git fetch [имя удалённого репозитория]

Если активная ветка следит за удалённой веткой, можно автоматически извлекать информацию из удалённой ветки с помощью команды:

$ git pull

Отправка данных в удалённый репозиторий

$ git push [имя удалённого сервера] [ветка]

Параметры:

--tags — отправка всех тегов.

Просмотр удалённых репозиториев

$ git remote show [имя удалённого сервера]

Переименование удалённых репозиториев

$ git remote rename [репозиторий] [новое имя]

Удаление удалённого репозитория

$ git remote rm [имя репозитория]

Теги

Вывод списка тегов

$ git tag

Создать легковесный тег

$ git tag [название тега]

Параметры:

-a [название тега] — создать тег с название

-m '[текст комментария]' — создать тег с комментарием