Шпаргалка по командам 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://github.com/github/gitignore
большой список готовых шаблонов файла .gitignore под различные фрейворки, IDE и т. д.
