Здесь собраны все ключевые команды с понятными описаниями, чтобы вы могли быстро находить нужную информацию и эффективно работать с системой контроля версий.
0. Общие команды.
Проверка версии и конфигурации:
git --version
Описание: Показать установленную версию Git.
git config --list
Описание: Отобразить текущие настройки конфигурации Git.
1. Настройка Git.
Установка имени пользователя и электронной почты:
git config --global user.name "Ваше Имя"
Описание: Установить имя пользователя по умолчанию для всех репозиториев.
git config --global user.email "ваш.email@example.com"
Описание: Установить email по умолчанию для всех репозиториев.
Настройка редактора по умолчанию:
git config --global core.editor "vim"
Описание: Установить редактор по умолчанию для написания сообщений коммитов.
2. Создание и клонирование репозиториев.
Инициализация нового репозитория:
git init
Описание: Создать новый пустой локальный репозиторий.
Клонирование существующего репозитория:
git clone <URL_репозитория>
Описание: Скопировать удаленный репозиторий на локальный компьютер.
3. Работа с файлами.
Отслеживание новых и измененных файлов:
git add <имя_файла>
Описание: Добавить файл в область индексирования (staging area).
git add .
Описание: Добавить все изменения в текущей директории в область индексирования.
Просмотр состояния репозитория:
git status
Описание: Показать состояния файлов в рабочей директории и области индексирования.
4. Создание коммитов.
Сохранение изменений:
git commit -m "Сообщение коммита"
Описание: Создать коммит с указанным сообщением.
Коммит без предварительного git add:
git commit -a -m "Сообщение коммита"
Описание: Добавить все измененные отслеживаемые файлы и создать коммит.
Изменение последнего коммита:
git commit --amend -m "Новое сообщение коммита"
Описание: Изменить сообщение последнего коммита или добавить забытые изменения.
5. Просмотр истории.
Просмотр журнала коммитов:
git log
Описание: Показать историю коммитов с деталями.
git log --oneline
Описание: Отобразить историю коммитов в кратком виде.
6. Работа с ветками.
Просмотр веток:
git branch
Описание: Показать список локальных веток.
Создание новой ветки:
git branch <имя_ветки>
Описание: Создать новую ветку.
Переключение между ветками:
git checkout <имя_ветки>
Описание: Переключиться на указанную ветку.
Создание и переключение на новую ветку:
git checkout -b <имя_ветки>
Описание: Создать новую ветку и сразу перейти на нее.
Удаление ветки:
git branch -d <имя_ветки>
Описание: Удалить локальную ветку.
7. Слияние веток.
Слияние ветки в текущую:
git merge <имя_ветки>
Описание: Слить указанную ветку с текущей.
Разрешение конфликтов:
При возникновении конфликтов вручную исправьте файлы и выполните:
git add <файл>
git commit
Описание: Добавить исправленные файлы и завершить слияние.
8. Работа с удаленными репозиториями.
Просмотр удаленных репозиториев:
git remote -v
Описание: Показать список удаленных репозиториев и их URL.
Добавление удаленного репозитория:
git remote add origin <URL_репозитория>
Описание: Добавить удаленный репозиторорий с именем "origin".
Получение изменений:
git fetch
Описание: Получить изменения из удаленного репозитория без слияния.
Получение и слияние изменений:
git pull
Описание: Получить и слить изменения из удаленного репозитория в текущую ветку.
Отправка изменений:
git push
Описание: Отправить коммиты в удаленный репозиторий.
9. Отмена изменений.
Отмена локальных изменений в файле:
git checkout -- <имя_файла>
Описание: Отменить незакоммиченные изменения в файле.
Удаление файла из области индексирования:
git reset <имя_файла>
Описание: Убрать файл из области индексирования.
Отмена последнего коммита:
git revert HEAD
Описание: Создать новый коммит, отменяющий изменения последнего коммита.
10. Работа с тегами.
Создание тега:
git tag <имя_тега>
Описание: Создать простой тег на текущем коммите.
Создание аннотированного тега:
git tag -a <имя_тега> -m "Сообщение тега"
Описание: Создать тег с сообщением и дополнительной информацией.
Просмотр тегов:
git tag
Описание: Показать список всех тегов.
Отправка тегов в удаленный репозиторий:
git push origin <имя_тега>
Описание: Отправить указанный тег в удаленный репозиторий.
11. Сохранение изменений без коммита (Stash).
Сохранение текущих изменений:
git stash
Описание: Сохранить незакоммиченные изменения и очистить рабочую директорию.
Просмотр сохраненных изменений:
git stash list
Описание: Показать список сохраненных наборов изменений.
Применение сохраненных изменений:
git stash apply
Описание: Применить последние сохраненные изменения.
Удаление сохраненных изменений:
git stash drop
Описание: Удалить последние сохраненные изменения из списка.
12. Просмотр различий.
Сравнение рабочего каталога и области индексирования:
git diff
Описание: Показать изменения, не добавленные в область индексирования.
Сравнение области индексирования и последнего коммита:
git diff --staged
Описание: Показать изменения, подготовленные для коммита.
13. Игнорирование файлов.
Создание файла .gitignore:
Добавьте в файл .gitignore файлы и директории, которые нужно игнорировать.
Пример содержимого .gitignore:
# Игнорировать все файлы .log
*.log
# Игнорировать директорию temp/
temp/
14. Работа с субмодулями.
Добавление субмодуля:
git submodule add <URL_репозитория>
Описание: Включить внешний репозиторий как субмодуль.
Инициализация и обновление субмодулей:
git submodule update --init --recursive
Описание: Инициализировать и обновить все субмодули в проекте.
15. Восстановление удаленных коммитов.
Использование reflog для восстановления:
git reflog
Описание: Показать историю изменений указателей.
Восстановление коммита:
git reset --hard <хеш_коммита>
Описание: Переместить указатель на указанный коммит и восстановить состояние.
16. Сохранение патчей.
Создание патча из коммитов:
git format-patch -n <количество_коммитов>
Описание: Создать патч-файлы из последних n коммитов.
Применение патча:
git apply <файл_патча>
Описание: Применить патч к текущей ветке.
17. Копирование коммитов между ветками (Cherry-pick).
Копирование коммита:
git cherry-pick <хеш_коммита>
Описание: Применить изменения из указанного коммита в текущую ветку.
18. Настройка псевдонимов команд.
Создание псевдонима:
git config --global alias.<псевдоним> "<команда>"
Пример:
git config --global alias.co "checkout"
Описание: Теперь вместо git checkout можно использовать git co.
19. Очистка репозитория.
Удаление неотслеживаемых файлов:
git clean -f
Описание: Удалить все неотслеживаемые файлы в рабочей директории.
Удаление неотслеживаемых директорий:
git clean -fd
Описание: Удалить неотслеживаемые файлы и директории.
20. Получение справки.
Просмотр справки по команде:
git help <команда>
Описание: Открыть документацию по указанной команде.
Пример:
git help commit