Шпаргалка по командам Git

Шпаргалка по командам Git

Собрал небольшую шпаргалку по командам Git и по файлу .gitignore.

Используемые сокращения:

<file> — файл

<dir> — каталог с проектом

<branch> — имя ветки

<tag> — имя метки

<remote> — ссылка на удаленный репозиторий, например например на Гитхабе

<alias> — псевдоним

Работа с репозиторием

git initИнициализация репозитория
git add <file>Добавление файлов под версионный контроль
 git add .Добавление всех файлов по версионный контроль
git commitФиксация изменений
git commit -a -m «comment» Игнорирование индексации
git commit —amendИзменение последнего коммита
 git clone <remote> Клонирование удаленного репозитория
git clone <remote> <dir> Клонирование удаленного репозитория в указанный каталог
git statusОпределение состояния файлов
git diffПросмотр изменных, но не проиндексированных файлов
git diff —stagedПросмотр проиндексированных файлов, которые войдут в следующий коммит
git rm <file>Удаление файла с индексацией
git rm —cached <file>Удаление файла из индекса (при этом файл остается в рабочем каталоге)
git mv <old file> <new file>Перемещение файлов
git logПросмотр истории коммитов
git reset HEAD <file>Отмена индексации файла
git checkout — <file>Отмена изменений файла

Работа с ветками

git branchПоказ существующих веток
git branch <branch>Создание новой ветки
git branch -d <branch>Удаление ветки
git branch -vПросмотр последнего коммита на каждой из веток
git branch —mergedПросмотр веток, для которых выполнено слияние
git branch —no-mergedПросмотр веток, для которых не выполнено слияние
git branch -D <branch>Принудительное удаление ветки
git branch —track <branch> <remote branch>Создание новой ветки из ветки на удаленном сервере
git checkout <branch>Переход на ветку
git checkout -b <branch>Создание ветки с переходом на нее
git merge <branch>Слияние веток
git mergetoolЗапуск графического инструмента для разрешения конфликтов
git push <remote> <branch>Отправка ветки на удаленный сервер
git push <remote> :<branch>Удаление ветки на удалённом сервере

Работа с удаленным репозиторием

git remoteОтображение удаленных репозиториев
git remote add <alias> <remote>Добавление удалённых репозиториев
git remote show <remote>Информация об удаленном репозитории
git remote rename <old name> <new name>Переименовывание удаленных репозиториев
git remote rm <remote>Удаление удаленных репозиториев
git fetch <remote>Получение данных из удаленных репозиториев
git pull <remote> <branch>Получение данных из удаленного репозитория и слияние с локальным
git push <remote> <branch>Отправление локальных изменений на удаленный сервер

Конфигурирование

git config --global user.name "Firstname Lastname" — имя пользователя

git config --global user.email mail@example.com — email пользователя

git config --global core.editor emacs — выбор редактора

git config --global merge.tool vimdiff — утилита сравнения

git config --global status.showUntrackedFiles all — пофайловое отображение изменений

git config alias.<alias> <command> — создание псевдонимов для команд

git config --list — проверка настроек

git help <command> — подсказка по команде

Файл .gitignore

Файл .gitignore необходимо добавить в корень проекта и в нем указать список исключений.

#Комментарий
/file.aИгнорировать файл file.a в текущем каталоге
*~Игнорировать все файлы, заканчивающиеся на тильду «~»
*.[ab]Игнорировать файлы, заканчивающиеся на .a или .b
*.aИгнорировать все файлы, заканчивающиеся на .a
!file.aНо, не игнорировать файл file.a
/*.aИгнорировать все файлы, заканчивающиеся на .a в текущем каталоге
dir/Игнорировать все файлы в каталоге dir/
/dir/Игнорировать каталог /dir и все его содержимое

Кстати на этих сайтах:

https://www.gitignore.io/

https://github.com/github/gitignore

большой список готовых шаблонов файла .gitignore под различные фрейворки, IDE и т. д.

Хостинг для ваших проектов