Основные концепции Репозиторий представляет собой хранилище вашего проекта, включая все файлы и историю их изменений. Репозиторий может находиться на вашем локальном компьютере или на удалённом сервере, таком как GitHub, GitLab или Bitbucket.
Коммит — это фиксация изменений в репозитории. Каждый коммит содержит уникальный идентификатор, автора, дату и сообщение, описывающее внесённые изменения. Коммиты позволяют отслеживать историю проекта и при необходимости возвращаться к предыдущим версиям.
Ветка — это независимая линия разработки. По умолчанию в Git создаётся ветка с именем main или master. Ветки используются для работы над новыми функциями или исправлениями без влияния на основную версию проекта.
Удалённый репозиторий — это версия вашего проекта, размещённая на сервере, например, на GitHub. Он позволяет нескольким разработчикам совместно работать над проектом, обмениваться изменениями и синхронизировать свои локальные репозитории.
Клонирование — это процесс создания локальной копии удалённого репозитория. После клонирования вы можете работать с файлами на своём компьютере, вносить изменения и затем отправлять их обратно на сервер.
Форк — это копия чужого репозитория в вашем аккаунте на GitHub или другой платформе. Форки используются для внесения изменений в проекты, к которым у вас нет прямого доступа, с последующей отправкой предложений авторам через Pull Request.
Pull Request (или Merge Request в GitLab) — это запрос на внесение изменений из одной ветки или форка в другую. Pull Request позволяет обсудить изменения, провести код-ревью и затем объединить их с основным проектом.
Базовые команды Git Для начала работы с Git необходимо настроить имя пользователя и электронную почту. Это делается с помощью команд:
git config --global user.name "Ваше Имя"
git config --global user.email "ваша@почта.com"
Чтобы создать новый репозиторий, перейдите в папку проекта и выполните команду:
git init
Эта команда создаст скрытую папку .git, в которой Git будет хранить всю служебную информацию.
Для клонирования существующего репозитория с GitHub или другого сервера используется команда:
git clone https://github.com/username/repository.git
После клонирования или создания репозитория вы можете начать вносить изменения в файлы. Чтобы проверить текущее состояние репозитория, выполните:
git status
Эта команда покажет, какие файлы были изменены, но ещё не добавлены для следующего коммита.
Для подготовки изменений к коммиту используется команда git add. Например:
git add file.txt
или
git add
Второй вариант добавляет все изменённые файлы.
После добавления файлов можно создать коммит с описанием изменений:
git commit -m "Добавлен новый функционал"
Для просмотра истории коммитов используется команда:
git log
Она выводит список всех коммитов с их идентификаторами, авторами, датами и сообщениями.
Работа с ветками Ветки позволяют работать над разными задачами параллельно. Чтобы создать новую ветку, выполните:
git branch new-feature
Для переключения между ветками используется команда:
text
git checkout new-feature
Можно объединить две команды — создание и переключение на новую ветку — с помощью:
git checkout -b new-feature
После завершения работы в ветке её можно объединить с основной веткой. Для этого переключитесь на целевую ветку (например, main) и выполните слияние:
git checkout main
git merge new-feature
Если в процессе слияния возникнут конфликты, Git сообщит об этом, и вам потребуется разрешить их вручную, отредактировав файлы.
Работа с удалёнными репозиториями Для отправки изменений в удалённый репозиторий используется команда:
git push origin main
Здесь origin — это стандартное имя удалённого репозитория, а main — имя ветки.
Чтобы загрузить изменения с удалённого репозитория, выполните:
git pull origin main
Эта команда объединяет загрузку изменений (git fetch) и их слияние с вашей локальной веткой (git merge).
Дополнительные возможности Файл .gitignore позволяет указать файлы и папки, которые Git должен игнорировать. Например, временные файлы, файлы сборки или конфиденциальные данные.
Для просмотра различий между файлами до добавления в коммит используется команда:
git diff
Если вы хотите отменить изменения в файле до последнего коммита, можно выполнить:
git checkout -- file.txt
Для более сложных операций, таких как переписывание истории коммитов, используется git rebase, но новичкам следует применять его с осторожностью.