Шпаргалка по Гиту (основные команды Git)
6 ноября 2018
Вывод списка настроек Гита
Установка имени пользователя
Установка почты пользователя
Создание нового репозитория в текущей папке
Копирование репозитория https://test-project.ru/git-rep.git в текущую папку
Добавление связи с внешним репозиторием
Показ списка внешних репозиториев, связанных с текущим и доступных на загрузку и выгрузку изменений
Показ состояния рабочего пространства (показывает незафиксированные в репозитории изменённые, новые и удалённые файлы и папки)
Добавление изменений в индекс (индексация)
Добавление изменений конкретного файла index.php
Индексация и сохранение изменений файлов в Гит в виде коммита с комментарием "task/18507: добавил проверку правильности ввода адреса почты"
Установить новый комментарий для последнего коммита
Создание нового коммита, который отменят изменения из коммита с хешем 3a32a65
Получить список веток
Получить список удалённых веток
Создание от текущей ветки новой ветки с именем task/18507
Переименовать текущую ветку на task/18507-v2
Создание от текущей ветки новой ветки с именем task/18507 и переход на эту ветку
Переход с текущй ветки на ветку release
Удалить ветку с именем task/18507
Удаление ветки task/18507 во внешнем репозитории origin
Получить все изменения из связанного внешнего репозитория
Выгрузить текущую веткe в ветку task/18507 из связанного внешнего репозитория
Влитие в текущую ветку ветки task/18507 с использованием метода «Fast-forward» (подробнее о методе в статье «Параметр слияния --no-ff в Гите»)
Открыть редактор для разрешения конфликта слияния
Отменить слияние в процессе возникновения конфликта слияния
Продолжить слияние (используется для продолжения процесса после разрешения конфликта слияния)
Сброс изменений всех файлов текущей ветки на состояние последнего коммита
Сброс изменений всех файлов текущей ветки на состояние предыдущего коммита
Сброс изменений всех файлов текущей ветки на состояние от коммита с хешем 3a32a65
Удаление из репозитория всех неотслеживаемых файлов (параметр -f) и папок (параметр -d)
Вывод списка последних коммитов (стандартный вид)
Вывод списка последних коммитов (каждый коммит представлен одной строкой)
Вывод списка последних записей из журнала ссылок
Просмотр изменений в текущей рабочей области по сравнению с последним коммитом текущей ветки
Просмотр изменений в текущей рабочей области по сравнению с последним коммитом из ветки release
Просмотр изменений файла index.php из текущей рабочей области по сравнению с файлом index.php из последнего коммита ветки release
Перебазировать текущую ветку поверх ветки release (используется для актуализации начала текущей ветки с целью уменьшения возможных конфликтов слияния)
Отменить перебазирование в процессе возникновения конфликта слияния
Продолжить перебазирование (используется для продолжения процесса после разрешения конфликта слияния)
git config --list
Установка имени пользователя
git config --global user.name "Vladimir B"
Установка почты пользователя
git config --global user.email test@test.ru
Создание нового репозитория в текущей папке
git init
Копирование репозитория https://test-project.ru/git-rep.git в текущую папку
git clone https://test-project.ru/git-rep.git .
Добавление связи с внешним репозиторием
git remote add origin https://test-project.ru/git-rep.git
Показ списка внешних репозиториев, связанных с текущим и доступных на загрузку и выгрузку изменений
git remote -v
Показ состояния рабочего пространства (показывает незафиксированные в репозитории изменённые, новые и удалённые файлы и папки)
git status
Добавление изменений в индекс (индексация)
git add .
Добавление изменений конкретного файла index.php
git add index.php
Индексация и сохранение изменений файлов в Гит в виде коммита с комментарием "task/18507: добавил проверку правильности ввода адреса почты"
git commit -a -m "task/18507: добавил проверку правильности ввода email"
Установить новый комментарий для последнего коммита
git commit --amend -m "task/18507: добавил проверку правильности ввода адреса почты"
Создание нового коммита, который отменят изменения из коммита с хешем 3a32a65
git revert 3a32a65
Получить список веток
git branch
Получить список удалённых веток
git branch -a
Создание от текущей ветки новой ветки с именем task/18507
git branch task/18507
Переименовать текущую ветку на task/18507-v2
git branch -m task/18507-v2
Создание от текущей ветки новой ветки с именем task/18507 и переход на эту ветку
git checkout -b task/18507
Переход с текущй ветки на ветку release
git checkout release
Удалить ветку с именем task/18507
git branch -d task/18507
Удаление ветки task/18507 во внешнем репозитории origin
git push -d origin task/18507
Получить все изменения из связанного внешнего репозитория
git pull
Выгрузить текущую веткe в ветку task/18507 из связанного внешнего репозитория
git push origin task/18507
Влитие в текущую ветку ветки task/18507 с использованием метода «Fast-forward» (подробнее о методе в статье «Параметр слияния --no-ff в Гите»)
git merge --no-ff task/18507
Открыть редактор для разрешения конфликта слияния
git mergetool
Отменить слияние в процессе возникновения конфликта слияния
git merge --abort
Продолжить слияние (используется для продолжения процесса после разрешения конфликта слияния)
git merge --continue
Сброс изменений всех файлов текущей ветки на состояние последнего коммита
git reset --hard
Сброс изменений всех файлов текущей ветки на состояние предыдущего коммита
git reset --hard HEAD~1
Сброс изменений всех файлов текущей ветки на состояние от коммита с хешем 3a32a65
git reset --hard 3a32a65
Удаление из репозитория всех неотслеживаемых файлов (параметр -f) и папок (параметр -d)
git clean -f -d
Вывод списка последних коммитов (стандартный вид)
git log
Вывод списка последних коммитов (каждый коммит представлен одной строкой)
git log --oneline
Вывод списка последних записей из журнала ссылок
git reflog
Просмотр изменений в текущей рабочей области по сравнению с последним коммитом текущей ветки
git diff
Просмотр изменений в текущей рабочей области по сравнению с последним коммитом из ветки release
git diff release
Просмотр изменений файла index.php из текущей рабочей области по сравнению с файлом index.php из последнего коммита ветки release
git diff release index.php
Перебазировать текущую ветку поверх ветки release (используется для актуализации начала текущей ветки с целью уменьшения возможных конфликтов слияния)
git rebase release
Отменить перебазирование в процессе возникновения конфликта слияния
git rebase --abort
Продолжить перебазирование (используется для продолжения процесса после разрешения конфликта слияния)
git rebase --continue