Git main
Осторожно: сырая статья. Я ещё не дописал :-)
Конфигурация
Section titled “Конфигурация”Показать все настройки
git config --listУстановить имя
git config user.name 'Your Name'Установить почту
git config user.email 'email@test.test'Редактор по умолчанию
git config core.editor vimОтключить подсказку в git status
git config advice.statusHints falseУстановить сортировку веток по умолчанию
git config branch.sort refnameПодсказка: добавь ”-” перед
refnameесли хочешь вывод в обратном порядке Дополнительно:committerdateсортировка по дате коммита;creatordateсортировка по дате создания
Глобальный конфиг
Подсказка: добавь
--globalесли хочешь внести изменения в глобальный конфиг Пример:git config --global core.editor vimПримечание: у локального.git/configприоритет выше глобального~/.gitconfig
Добавь директории и файлы, которые не хочешь отслеживать в .gitignore
# .gitignore example
*.log*.temp.env/.cache/build/dist/my_script.shmy_note.txtКоманды
Section titled “Команды”Инициализация
Section titled “Инициализация”Создать репозиторий
git initСоздать репозиторий в указанном каталоге
git init <project-dir>Клонирование
Section titled “Клонирование”Клонировать удалённый репозиторий
git clone <url>Клонировать в указанный каталог
git clone <url> <project-dir>Клонировать только последний коммит
git clone --depth 1 <url>Статус
Section titled “Статус”Посмотреть статус изменений
git statusПодсказка: для краткого формата используй
-s
Добавление
Section titled “Добавление”Добавить все изменения
git add .Добавить файл
git add <file>Интерактивное добавление
git add -pДобавление по маске
git add *.shПримечание:
git addдобавляет файлы в staged
Коммит
Section titled “Коммит”Сделать коммит через редактор
git commitСделать коммит
git commit -m "mesage"Изменить последний коммит
git commit --amendПодсказка: если не хочешь менять сообщение, то добавь
--no-edit
Переименование
Section titled “Переименование”Переименовать файл/каталог
git mv <old-name> <new-name>Удаление
Section titled “Удаление”Удалить файл/каталог
git rm <file-or-dir>Подсказка: используй
--cachedчтобы удалить из репозитория, но оставить на диске
Список локальных веток
git branchДополнительно:
-aвывести все ветки (включая remote);-vветки с последним коммитом
Создать ветку
git branch <name>Удалить ветку
git branch -d <name>Примечание: используй
-Dдля принудительного удаления
Переименовать ветку
git branch -m <old-name> <new-name>Ветки, слитые в текущую
git branch --mergedПереключиться на ветку
git switch <name>Создать и переключиться
git switch -c <name>Примечание: старый способ переключения
git checkout <name>, чтобы создать и переключиться добавь-b
Сортировка веток по дате последнего коммита
git branch --sort=committerdateПодсказка: добавь ”-” перед
committerdate, чтобы отсортировать в обратном порядке
Сортировка веток по паттерну
git branch --list 'pattern' --sort=refnameПример:
git branch --list 'feature/*' --sort=refname
Слияние
Section titled “Слияние”Слить ветку в текущую
git merge <name>Подсказка: используй
--no-ff, чтобы создать merge-коммит
Сжать все коммиты в одни
git merge --squash <name>Отменить слияние при конфликте
git merge --abortПеребазирование
Section titled “Перебазирование”Перебазировать текущую ветку на указанную
git rebase <name>Подсказка: используй
-iдля интерактивного режима
Отменить rebase
git rebase --abortПродолжить после разрешения конфликта
git rebase --continueПрименение
Section titled “Применение”Применить конкретный коммит к текущей ветке
git cherry-pick <commit>Подсказка: можно через пробел добавить несколько коммитов или использовать диапазон коммитов через ”..”
git cherry-pick <c1>..<c2>
Отменить cherry-pick
git cherry-pick --abortПродолжить после разрешения конфликта
git cherry-pick --continue