Git это распределенная система контроля версий, которая позволяет командам разработчиков эффективно сотрудничать над кодом. С помощью Git вы можете отслеживать изменения в вашем проекте с течением времени, легко сотрудничать с другими разработчиками и объединять изменения кода, внесенные несколькими разработчиками.
Новичкам важно изучить некоторые основные команды и рабочие процессы Git, чтобы начать эффективно использовать систему контроля версий. В этом руководстве мы шаг за шагом рассмотрим основные команды и процессы Git, чтобы помочь вам начать работу с Git и контролем версий.
Настройка Git
Чтобы начать использовать Git, вам нужно сначала установить его на свой компьютер. Вот как его установить:
Установить Git
- В Linux/Unix: Git обычно поставляется с предустановленными дистрибутивами Linux. Чтобы подтвердить это, откройте терминал и введите
git --version
, чтобы проверить, установлен ли Git. Если нет, используйте менеджер пакетов вашего дистрибутива для его установки (например.apt-get install git
на Ubuntu/Debian). - На Mac: Установите Git через Homebrew с помощью
brew install git
, или скачайте программу установки с сайта git-scm.com. - В Windows: Загрузите и запустите программу установки Git с сайта git-scm.com. Выберите нужные параметры в процессе установки.
Настройка Git
После установки Git вам нужно настроить имя и электронную почту для идентификации ваших коммитов:
$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
Это свяжет вашу активность в Git с вашей личностью. Адрес --global
устанавливает это имя пользователя/электронную почту для всех Git-репозиториев в вашей системе.
Генерировать SSH-ключи (необязательно)
Если вы планируете подключаться к удаленным Git-репозиториям по SSH, вам необходимо сгенерировать SSH-ключи. Это позволит вам подключаться к репозиториям без необходимости каждый раз вводить пароль.
Чтобы сгенерировать ключи:
$ ssh-keygen -t rsa -b 4096 -C "[email protected]"
Это создаст пару открытого и закрытого ключей SSH. Затем вы сможете добавить свой открытый ключ в такие сервисы, как GitHub, для подключения по SSH.
Теперь вы готовы начать использовать Git! Давайте рассмотрим некоторые основные понятия и команды.
Концепции Git
Прежде чем изучать команды Git, важно понять некоторые ключевые концепции Git:
- Репозиторий: Репозиторий (или repo) содержит всю коллекцию файлов и папок, связанных с проектом, а также историю ревизий каждого файла.
- Коммит: Коммит — это снимок вашего репозитория в определенный момент времени. Коммиты фиксируют изменения, которые вы вносите в код.
- Ветвь: Ветка представляет собой независимую линию развития. По умолчанию у каждого репозитория есть главная ветка (обычно называемая master), которая служит окончательной веткой.
- Слияние: Слияние объединяет изменения из одной ветки в другую, например, объединение изменений ветки feature в main.
- Удаленный: Удаленное репозиторий — это репозиторий, размещенный в Интернете или сети. Оно позволяет участникам совместной работы вносить и извлекать изменения.
- Клон: Клонирование загружает удаленное репо на вашу локальную машину, чтобы вы могли работать с ним.
Эти концепции обеспечивают мощные рабочие процессы совместной работы в Git. Помните о них, когда мы будем выполнять основные команды.
Команды Git
Теперь давайте рассмотрим основные команды Git и рабочие процессы, которые вы будете использовать в повседневной разработке.
git init
Инициализирует новое Git-репо в текущем каталоге. Это превращает обычную директорию в Git-проект, в котором можно начать отслеживать изменения.
$ git init
статус git
Проверяет статус репозитория и показывает файлы, которые не отслеживаются, изменены, поставлены и т.д. Чрезвычайно полезная команда.
$ git status
git add
Добавляет изменения файлов в вашем рабочем каталоге в область хранения, чтобы включить их в следующий коммит. Вызовите git add для определенных файлов или каталогов, например:
$ git add file.txt
$ git add folder/
Чтобы добавить все изменённые файлы, используйте:
$ git add .
git commit
Зафиксирует постановочный снимок в истории проекта. Зафиксированные снимки можно рассматривать как «точки сохранения», к которым вы можете вернуться позже.
Всегда пишите описательное сообщение о фиксации:
$ git commit -m "Your descriptive commit message"
журнал git
Показывает историю коммитов с именем автора, датой и сообщением о коммите. Полезно для просмотра истории проекта и поиска старых коммитов:
$ git log
git checkout
Checkout переключает ветки в репозитории. Чтобы начать работу над новой веткой:
$ git checkout -b branch-name
Чтобы переключиться на существующую ветку:
$ git checkout branch-name
А чтобы переключиться обратно на основную ветку:
$ git checkout main
git merge
Сливает изменения из одной ветки в вашу текущую ветку (например, сливает изменения функций в main).
$ git merge branch-to-merge
Это выполняет слияние. Git выполнит автоматическое слияние изменений, если между ветками нет серьезных конфликтов.
git remote
Управляет соединениями с удаленными репозиториями. Вам понадобится добавить remote для отправки репозитория на хостинг, например GitHub:
$ git remote add origin https://github.com/user/repo.git
Проверьте удаленные соединения с помощью:
$ git remote -v
git push
Передает коммиты локального репо в указанное удаленное репо. Например:
$ git push origin main
Это подталкивает вашу локальную основную ветку к основной ветке удалённого origin.
git pull
Перетаскивает изменения из удаленного репозитория в ваш локальный репозиторий. Сначала получает изменения из удаленной ветки, а затем сливает их в вашу локальную ветку:
$ git pull origin main
git clone
Клонирует удаленное хранилище для создания локальной рабочей копии. Например:
$ git clone https://github.com/user/repo.git
Это загрузит удаленное репо на вашу машину, чтобы вы могли работать локально.
Это основные команды и рабочие процессы Git для начала работы с контролем версий. Некоторые другие полезные команды включают:
git diff
для просмотра изменений между коммитами, ветвей, рабочего каталога по сравнению с репо и т. д.git reset
для отмены локальных изменений и возврата состояния репоgit rebase
для переноса ваших коммитов на другую ветку
И многое другое! Документация по Git содержит подробную справку по дополнительным командам.
Теперь давайте рассмотрим простой процесс совместной работы с Git…
Пример совместного рабочего процесса Git
Вот пример рабочего процесса для совместной разработки проекта с удаленным Git-репозиторием и несколькими участниками:
- Инициализируйте Git в новой папке проекта:
$ git init
- Создайте удаленный репозиторий на GitHub
- Подключите локальный репозиторий к удаленному:
$ git remote add origin https://github.com/user/repo.git
- Создайте новую ветку функций локально:
$ git checkout -b new-feature
- Вносите изменения, ставьте и фиксируйте локально:
$ git add .
$ git commit -m "Add new feature"
- Получение последних удаленных изменений:
$ git fetch
- Объедините удаленную основную ветку с вашей веткой:
$ git merge origin/main
- Перенесите рабочую ветку на удаленную:
$ git push origin new-feature
- На GitHub создайте запрос на притяжение для объединения new-feature с main
- Просмотр кода, одобрение и объединение запроса на GitHub
- Потяните удаленный main в локальный репозиторий:
$ git pull origin main
- Проверьте основную ветку локально:
$ git checkout main
Изменения вашего коллеги теперь загружены в вашу локальную основную ветку.
Здесь показан полный процесс совместной работы:
- Локальное форкирование ветки функций
- Передача на удаленное использование
- Создание PR для слияния с основным
- Получение последней версии main в локальное репо
Используя ветки, коммиты, слияния и удалённые ресурсы, вы можете эффективно сотрудничать над кодом!
Заключение
Это основные команды и рабочие процессы Git, которые помогут вам начать работу с контролем версий для ваших проектов и кода. Вот несколько дополнительных советов:
- Регулярно выполняйте коммит с описательными сообщениями
- Поддерживайте стабильность основной ветки, выполняя работу над функциями в ветках
- Часто синхронизируйте локальное репо с удаленным, чтобы получать последние изменения
- Используйте запросы на выгрузку/слияние для экспертной оценки
- Используйте
git log
иgit diff
для проверки изменений
Git обеспечивает мощную совместную работу и контроль версий для проектов. Изучив его основные команды, вы сможете начать работу по управлению кодом с помощью Git. Документация по Git содержит более подробную информацию о расширенных рабочих процессах.
Теперь у вас есть все необходимые инструменты, чтобы начать контролировать версии кода!