Шпаргалка Git
Шпаргалка по Git
Шпаргалка Git
Git — это распределенная система управления версиями, которая позволяет отслеживать изменения в коде и работать совместно с другими разработчиками.
Настройка Git
Перед началом работы необходимо настроить Git с помощью следующих команд:
Установка имени пользователя:
Это имя будет отображаться в информации о коммитах.
Установка электронной почты:
Email также будет отображаться в коммитах.
Проверка текущих настроек:
Показывает все текущие настройки Git.
Настройка предпочтительного редактора:
Устанавливает редактор по умолчанию для Git.
Выбор отображения цветов:
Включает цветное отображение в командной строке.
Создание и Клонирование Репозитория
Инициализация нового репозитория:
Создает новый локальный репозиторий в текущей директории.
Клонирование существующего репозитория:
Клонирует удаленный репозиторий в новую директорию.
Пример:
Основные Команды
Статус и Добавление Файлов
Проверка статуса репозитория:
Показывает отслеживаемые и неотслеживаемые файлы, изменения и статус индекса.
Добавление файлов в индекс:
Добавляет указанный файл в индекс (staging area).
Добавление всех файлов:
Добавляет все новые и измененные файлы в индекс.
Коммит изменений
Создание коммита:
Фиксирует изменения с указанным сообщением.
Автоматическое добавление и коммит:
Добавляет изменения отслеживаемых файлов и создает коммит.
Работа с Удаленными Репозиториями
Отправка изменений:
Отправляет коммиты в удаленный репозиторий по умолчанию.
Отправка на определенную ветку:
Получение изменений:
Забирает изменения из удаленного репозитория и сливает их с текущей веткой.
Разница между
git fetch
иgit pull
:git fetch
загружает изменения из удаленного репозитория, но не сливает их.git pull
сочетаетgit fetch
иgit merge
.
Работа с Ветками
Просмотр локальных веток:
Выводит список всех локальных веток.
Создание новой ветки:
Создает новую ветку.
Переключение между ветками:
Переключается на указанную ветку.
Создание и переключение на новую ветку:
Создает новую ветку и сразу переключается на нее.
Слияние веток:
Сливает указанную ветку с текущей.
Удаление ветки:
Удаляет локальную ветку. Если ветка не была слита, используйте принудительное удаление:
Работа с Удаленными Ветками
Просмотр удаленных веток:
Удаление удаленной ветки:
Получение всех веток и тегов:
Просмотр Истории
Полная история коммитов:
Показывает историю коммитов с деталями.
Краткий формат истории:
Отображает историю в одну строку на коммит.
Графическое отображение:
Показывает историю в виде графа, отображая ветки и коммиты.
Фильтрация по автору:
Поиск по сообщению коммита:
Сравнение Изменений
Просмотр изменений в рабочем каталоге:
Показывает изменения, которые еще не добавлены в индекс.
Просмотр изменений в индексе:
Показывает изменения, подготовленные для коммита.
Сравнение между двумя ветками:
Отмена Изменений
Отмена изменений в файле:
Возвращает файл к последнему коммиту, отменяя несохраненные изменения.
Убрать файл из индекса:
Убирает файл из индекса, оставляя его изменения в рабочем каталоге.
Отмена последнего коммита (с сохранением изменений):
Сбрасывает коммит, оставляя изменения в индексе.
Отмена последнего коммита (с удалением изменений):
Полностью удаляет последний коммит и все изменения.
Создание обратного коммита:
Создает новый коммит, отменяющий указанный коммит.
Работа с Удаленными Репозиториями
Просмотр удаленных репозиториев:
Показывает имена и URL удаленных репозиториев.
Добавление удаленного репозитория:
Добавляет удаленный репозиторий с именем
origin
.Переименование удаленного репозитория:
Удаление удаленного репозитория:
Теги
Просмотр тегов:
Показывает список всех тегов.
Создание аннотированного тега:
Создание легковесного тега:
Просмотр информации о теге:
Отправка тегов в удаленный репозиторий:
Отправляет указанный тег.
Отправка всех тегов:
Удаление тега локально:
Удаление тега в удаленном репозитории:
Сохранение Изменений (Stash)
Сохранение незаконченных изменений:
Сохраняет текущие изменения и очищает рабочий каталог.
Просмотр сохраненных изменений:
Применение последних сохраненных изменений:
Применение и удаление из списка:
Удаление сохраненных изменений:
Сохранение с сообщением:
Применение конкретного stash:
Работа с Submodules (Подмодулями)
Добавление подмодуля:
Инициализация и обновление подмодулей:
Обновление подмодулей до последних версий:
Удаление подмодуля:
Ребейз (Rebase)
Перебазирование текущей ветки на другую:
Применение интерактивного ребейза:
Позволяет изменить последние три коммита (объединить, изменить сообщения и т.д.).
Отмена ребейза:
Продолжение ребейза после разрешения конфликтов:
Инструменты для Решения Конфликтов
Показать файлы с конфликтами:
Отметить конфликт как разрешенный:
Продолжить процесс после разрешения конфликтов:
или
Дополнительные Полезные Команды
Просмотр автора изменений в файле:
Показывает, кто и когда изменял каждую строку в файле.
Просмотр содержимого конкретного коммита:
Удаление файла из репозитория и файловой системы:
Переименование или перемещение файла:
Очистка неотслеживаемых файлов:
Удаляет неотслеживаемые файлы из рабочей директории.
Удаление неотслеживаемых директорий:
Поиск по истории коммитов:
Показывает коммиты, в которых добавлен или удален указанный фрагмент кода.
Изменение последнего коммита:
Позволяет изменить сообщение последнего коммита или добавить забытые изменения.
Алиасы (Псевдонимы)
Вы можете создать собственные алиасы для часто используемых команд:
Создание алиаса:
Теперь вы можете использовать
git co
вместоgit checkout
.Пример полезных алиасов:
Настройка .gitignore
Файл .gitignore
используется для указания файлов и директорий, которые Git должен игнорировать.
Пример содержимого .gitignore:
Получение Справки
Общая справка:
Справка по конкретной команде:
или
Полезные Практики
Регулярно коммитьте небольшие изменения.
Используйте понятные сообщения коммитов.
Старайтесь избегать работы в ветке
master
илиmain
.Периодически синхронизируйтесь с удаленным репозиторием.
Перед слиянием обновите свою ветку:
Разрешайте конфликты сразу после их возникновения.
Это подробная шпаргалка по Git, которая поможет вам в повседневной работе с системой контроля версий. Практикуйтесь и изучайте документацию для более глубокого понимания возможностей Git.
Last updated
Was this helpful?