Главная

Пошаговая инструкция о том, как стать экспертом в Git.

Один из самых важных навыков разработчика.

Git
Поделиться:
 

3+

Git пока что является лучшей и наиболее широко используемой системой контроля версий. Это очень хорошо поддерживаемый open-source проект, который удовлетворяет потребности как команд, так и отдельных разработчиков. И самое главное — git бесплатный.

Что такое Git?

Давайте проясним ситуацию: Git — это программа, которая помогает отслеживать изменения, вносимые в проект. Она сохраняет эти изменения и позволяет при необходимости ссылаться на них. Освоить Git не так сложно, как вы думаете! Нужно лишь понять концепцию его работы.
Начинаем!

Основы git workflow

Для начала нужно создать локальный каталог проекта, написав следующую команду:

git init

Команда init создаст новый git репозиторий для этого проекта. Этот локальный репозиторий будет создан в виде папки «.git» внутри корневого каталога вашего проекта. Вы будете единственным человеком, которому разрешено работать с ним, редактируя и фиксируя изменения.
Взгляните на следующую схему git workflow:

Image for post

Локальный Git проект состоит из трех частей:
1. Рабочий каталог (working directory): где вы будете выполнять всю работу: создавать, вставлять, изменять, добавлять, удалять, копировать, переименовывать и систематизировать файлы.
2. Промежуточная область (staging area): где перечислены все изменения, которые вы хотите зафиксировать.
3. Репозиторий(repository): где храниться последняя версия проекта.

После изменения/редактирования файлов в рабочем каталоге используйте следующую команду, чтобы передать внесенные изменения в промежуточную область (staging area):
git add filename

«filename» — имя файла, который вы хотите добавить в промежуточную область. Вы всегда можете отследить разницу между рабочим каталогом и промежуточной областью, используя команду:
git diff filename

Последний шаг базового git workflow — зафиксировать(закоммитить) изменения. Коммит будет сохранять все изменения из промежуточной области(staging area) в репозиторий.
git commit -m “[descriptive message]”

Обязательно опишите коммит. Напишите четкое и описательное сообщение, заключенное в кавычки.
Это все, что вам нужно знать о базовом git workflow! Знание этих простых команд и их освоение даст вам возможность легко и профессионально отслеживать изменения в вашем локальном репозитории.

Log

Иногда возникает необходимость посмотреть логи проекта. Это можно сделать с помощью следующей команды:

git log

Все коммиты проекта хранятся в хронологическом порядке и доступны для просмотра. Команда log выводит на экран все эти коммиты. Благодаря логу вы можете отслеживать, как развивался проект.

Ветвление и Слияние (branching and merging)

В реальных проектах всегда есть несколько контекстов, в которых идет разработка. Возможно, вам нужно разработать новую функцию или исправить некоторые баги, или, может быть, вам нужно работать удаленно с коллегами, каждый из которых занимается разными функциями. В такой ситуации лучше всего изолировать процесс разработки — создать новую ветку для каждого контекста. Это также позволит вам экспериментировать с новыми фичами, не беспокоясь о том, что вы можете что-то испортить. Вы всегда можете оставить испорченную ветку и взять рабочую версию проекта с главной ветки.

Image for post

Чтобы узнать, в какой ветке вы находитесь, используйте следующую команду:
git branch

Чтобы создать новую ветку:
git branch new_branch_name
«new_branch_name» — это имя новой ветки, которую вы хотите создать. Советую давать имена, которые связаны с назначением веток.
Новосозданная ветка полностью идентична текущей ветке. Чтобы работать с новой веткой, нужно на нее перейти:
git checkout branch_name

После того как вы закончили разрабатывать новую фичу, вы можете сделать слияние ветки с фичей и основной веткой проекта. Это можно сделать с помощью следующей команды:
git merge branch_name

Image for post

Если основная ветка не изменялась с момента создания новой ветки, процесс слияния будет успешно завершен. В противном случае, если основная ветка содержит новые коммиты, которые не включены в новую ветку, то возникнут конфликты. В этом случае вам вручную нужно будет решить, какие изменения оставить, а какие отклонить.
git branch -d branch_name

Ветвление — одна из самых мощных функций Git, и нет причин не использовать ее! Если вы хотите улучшить свой повседневный рабочий процесс, используйте ветвление!

Удаленный репозиторий

Когда дело доходит до работы в команде, в игру вступают удаленные репозитории. Удаленный репозиторий — это общий репозиторий Git, который позволяет нескольким разработчикам из разных мест работать в одном репозитории независимо. Если вы работаете над каким-то проектом с удаленным репозиторием, вы можете получить его копию локально с помощью команды:
git clone remote_location clone_name

«remote_location» — расположение удаленного репозитория. Это может быть ссылка или путь к файлу. Git присвоит удаленному адресу имя origin, чтобы вы могли легко ссылаться на него.

Совместная работа и Git

Вот так выглядит типичная совместная работа с помощью Git (рекомендую вам придерживаться этого):
1. Загрузите(git fetch) последние изменения с удаленного репозитория и объедините их с вашей текущей веткой.
2. Создайте новую ветку для своей работы (новая функция, исправления ошибок,…).
3. Внесите некоторые изменения и дополнения
4. Опять обновите проект с удаленного репозитория и объедините его с текущей веткой.
5. Запушьте свою ветку в удаленный репозиторий.

У вас, вероятно, возник вопрос, зачем нужен четвертый шаг в списке. Дело в том, что когда вы работаете в команде, ваши коллеги также могут вносить изменения в удаленный репозиторий, пока вы работаете в локальном репозитории.
Именно по этой причине перед тем, как пушить свои изменения в удаленный репозиторий, стоит получить новые изменения в репозитории.

Чтобы получить новые обновления, используйте следующую команду:
git fetch
Теперь у вас есть новые изменения, но ваш локальный репозиторий еще не обновлен. Используйте команду слияния, о которой мы упоминали ранее, чтобы интегрировать новую ветку в вашу локальную ветку.
И, напоследок введите команду:
git push origin your_branch_name

Эта команда отправит(запушит) вашу ветку на удаленный репозиторий и ваши коллеги смогут ее просмотреть.

Вот и все!

Отлично, теперь вы знаете все, что нужно, чтобы начать работать с GitGit — один из самых важных навыков, которым должен обладать каждый разработчик. Надеюсь, вам понравилась данная статья.
Спасибо!

GitTutorial
Поделиться:
3+