Git и GitHub - инструменты, которые должен изучить каждый разработчик программного обеспечения. Эти инструменты не только упрощают отслеживание изменений в ваших личных проектах, но также упрощают участие и координацию командных проектов. Это руководство призвано помочь каждому новичку использовать свои навыки и легко изучить и использовать эти инструменты. Давайте займемся этим.
Системы контроля версий - это инструменты, которые используются разработчиками программного обеспечения для отслеживания изменений в проекте и управления ими. Эти инструменты отслеживают внесенные изменения, их имена и время. Таким образом, упрощается возврат к предыдущим версиям документа и выявление ошибок в случае их возникновения.
Существует три основных типа VCS, а именно;
• Локальная система контроля версий
• Централизованная система контроля версий
• Распределенная система контроля версий
Локальная система контроля версий - это тип VC, который использует локальную базу данных на вашем компьютере для хранения внесенных изменений. Он хранит их как патч, где каждый патч содержит изменения, внесенные в файл по сравнению с предыдущими версиями, а не весь файл. Следовательно, чтобы увидеть, как файл выглядел в любом случае, вы должны добавить все соответствующие исправления, чтобы создать документ.
Централизованная система контроля версий использует центральный сервер для хранения репозитория. Таким образом, каждый разработчик должен быть подключен к центральному серверу для доступа к репозиторию и внесения изменений. Несмотря на то, что поддерживать единый репозиторий на сервере довольно просто, в случае отказа центрального сервера вы можете рискнуть потерять данные, что является серьезным недостатком. Примером централизованной VCS является Apache Subversion, сокращенно SVN.
В отличие от централизованной VCS, у каждого участника есть собственная локальная копия основного репозитория. Таким образом, они могут изменять, обновлять и фиксировать в своем локальном репозитории, не вмешиваясь в основной репозиторий. Авторы копируют основной репозиторий путем клонирования. Кроме того, они должны подготовить, зафиксировать и продвинуть изменения, чтобы сделать их доступными для просмотра другим участникам.
Узнав, что такое система контроля версий, давайте погрузимся в GIT
Git - это программное обеспечение для распределенного управления версиями с открытым исходным кодом, созданное в 2005 году Линусом Торвальдсом для ядра Linux. Это позволяет команде разработчиков работать над проектом, в котором каждый из них имеет копию своего основного репозитория, расположенного на центральном сервере.
Особенности Git
Есть много альтернатив GitHub, таких как GitLab и bitbucket. Следовательно, вам не обязательно нужен GitHub для использования git, но вам потребуется git для использования GitHub.
Вам необходимо установить git в вашей операционной системе. Это руководство поможет вам.
Кроме того, создайте учетную запись GitHub, и давайте продолжим.
Кратко обсудим диаграмму;
После того, как пользователь вносит изменения в рабочий файл, git обращает внимание на недавно измененные файлы. Пользователь может проверить измененные файлы с помощью команды git status.
Измененные файлы добавляются в промежуточную область, которая действует как временное расположение файлов.
Все подготовленные файлы готовы к фиксации / перемещению в локальный репозиторий. До этого момента изменения видны только на локальном компьютере разработчика и не могут быть доступны другим участникам онлайн.
Чтобы сделать файл доступным в Интернете, вам необходимо разместить его на веб-хостинге, таком как GitHub. Итак, вам нужно подтолкнуть локальный репозиторий, чтобы синхронизировать его с удаленным репозиторием.
Возьмем, к примеру, случай, когда другие участники отправили изменения в удаленный репозиторий. Вы должны синхронизировать свой локальный репозиторий с удаленным репозиторием, чтобы быть в курсе сделанных изменений. Для этого вы используете команду Git Pull, которая синхронизирует ваш локальный репозиторий.
Давайте теперь посмотрим на команды git
Команда git status выводит список всех файлов, которые были недавно изменены и не были добавлены в локальный репозиторий. В приведенном ниже случае файл Two Sum.md еще не добавлен в локальный репозиторий.
PS C:\Users\ERICA WANJA\Desktop\coding problems> git status
On branch main
Your branch is up to date with 'origin/main'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
leetcode/Two Sum.md
nothing added to commit but untracked files present (use "git add" to track)
PS C:\Users\ERICA WANJA\Desktop\coding problems>
Команда git add используется для перемещения файлов в промежуточную область для фиксации. Чтобы обработать ваши файлы, используйте команды ниже;
git add filename - добавить конкретный файл
git add - all
, что сокращено до git add -A
, содержит все файлы, то есть новые, измененные и удаленные файлы. С другой стороны, команда git add.
обрабатывает только новые и измененные файлы, исключая удаленные файлы.
перемещает репозиторий из промежуточной области в локальный репозиторий. Другими словами, он сохраняет снапшоты изменений, внесенных в локальный репозиторий, вместо того, чтобы слепо копировать весь репозиторий еще раз.git commit
Каждый раз, когда вы делаете коммит, вы должны давать краткое сообщение, объясняющее сделанные изменения.
Например;
git commit –m “solved the two sum problem”
Команда pull помогает поддерживать локальное репо в актуальном состоянии с удаленным репозиторием. Она передает любые изменения, внесенные другим участником в удаленном репозитории, в ваш локальный репозиторий.
Чтобы вытащить изменения, вам необходимо установить исходную или родительскую
команду удаленного репозитория :
git remote add origin LinkToTheRemoteRepo
После настройки исходного удаленного репозитория вы можете получить изменения, используя следующую команду:
git pull origin master
* Примечание: * при работе над командным проектом рекомендуется вытягивать изменения перед командой push.
Команда git push
передает изменения коммитов из локального репозитория в удаленный репозиторий (GitHub). Таким образом, внесенные вами изменения будут опубликованы в центральном репозитории и доступны в Интернете.
Команды
отправляют коммиты в основную ветку, или главную ветвьgit push origin main
git push origin branchName
подталкивает коммиты в указанную ветку (вы узнаете о ветвях вскоре)
Ветвление просто означает создание другой линии разработки (ветки), где вы можете тестировать и экспериментировать с новыми вещами, прежде чем внедрять их в основную кодовую базу. Таким образом, практика ветвления избавит вас от путаницы с производственной кодовой базой.
После тестирования новых изменений в ветке, вы можете позже интегрировать их с основной линией разработки. Этот акт интеграции ветвей в основную линию развития известен как слияние.
Команда git branch branchname
используется для создания новой ветви.
Команда git checkout branchname
используется для перехода к указанной ветви. После перехода в ветку вы можете зафиксировать и отправить изменения.
Команда git checkout-b branchname
- это краткая форма двух вышеперечисленных команд. Она создает новую ветку и одновременно перемещается в нее (проверяет).
Локально созданная ветка доступна только на вашем устройстве и недоступна для других членов команды. Вы можете нажать эту локальную ветку, чтобы сделать ее доступной удаленно, используя следующую команду.
git push –u origin <name>
Команда git branch –d branchname
используется для удаления веток после объединения изменений.
В некоторых случаях git может отказать в удалении ветки, если в ней есть изменения, которые не были объединены с основной веткой, что является механизмом безопасности для предотвращения случайной потери данных.
Однако, если вы уверены, что хотите удалить ветку с незафиксированными изменениями, вы можете использовать команду ниже;
git branch –D branchname
Кроме того, вы можете использовать следующую команду для удаления удаленного репозитория;
git push origin --delete branchname
Я очень ценю, что вы зашли. Надеюсь, статья вам помогла.