Авторизоваться
Аким Солянкин 30.11.2021 Опубликована

Git и GitHub для новичков 

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

Что такое система контроля версий?

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

Типы систем контроля версий

Существует три основных типа VCS, а именно;
• Локальная система контроля версий
• Централизованная система контроля версий
• Распределенная система контроля версий

Локальная система контроля версий - это тип VC, который использует локальную базу данных на вашем компьютере для хранения внесенных изменений. Он хранит их как патч, где каждый патч содержит изменения, внесенные в файл по сравнению с предыдущими версиями, а не весь файл. Следовательно, чтобы увидеть, как файл выглядел в любом случае, вы должны добавить все соответствующие исправления, чтобы создать документ.

Централизованная система контроля версий использует центральный сервер для хранения репозитория. Таким образом, каждый разработчик должен быть подключен к центральному серверу для доступа к репозиторию и внесения изменений. Несмотря на то, что поддерживать единый репозиторий на сервере довольно просто, в случае отказа центрального сервера вы можете рискнуть потерять данные, что является серьезным недостатком. Примером централизованной VCS является Apache Subversion, сокращенно SVN.

Распределенная VCS

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

Узнав, что такое система контроля версий, давайте погрузимся в GIT

Что такое git?

Git - это программное обеспечение для распределенного управления версиями с открытым исходным кодом, созданное в 2005 году Линусом Торвальдсом для ядра Linux. Это позволяет команде разработчиков работать над проектом, в котором каждый из них имеет копию своего основного репозитория, расположенного на центральном сервере.

Особенности Git

  1. Бесплатно и с открытым исходным кодом - вам не нужно ничего платить, чтобы использовать Git. Кроме того, его исходный код доступен в открытом доступе, поэтому вы можете изменить его по своему усмотрению.
  2. Распределенная разработка - Git поддерживает клонирование, при котором участники могут хранить локальную копию основного репозитория.
  3. Поддерживает нелинейную разработку - git поддерживает независимые строки кода, известные как ветки, которые можно размещать, фиксировать и обновлять независимо от основной кодовой базы. Следовательно, ветвление дает разработчику безопасное пространство для реализации и тестирования чего-то нового, не мешая кодовой базе. Позднее ветки могут быть объединены в кодовую базу.
  4. Масштабируемость - Git достаточно масштабируем, что позволяет легко справляться с увеличением числа соавторов.
  5. Безопасность - этот инструмент использует безопасную хеш-функцию (SHA1) для именования и идентификации объектов в репозитории. Следовательно, каждое изменение тщательно отслеживается, что делает невозможным внесение изменений незамеченными. ## Что такое GitHub? GitHub - это хостинговая компания, основанная в 2008 году, которая предоставляет разработчикам платформу для размещения и обмена своими проектами. Она предоставляет функции контроля доступа и управления для каждого размещенного проекта. По сути, она предлагает управление исходным кодом среди других функций git.

Есть много альтернатив GitHub, таких как GitLab и bitbucket. Следовательно, вам не обязательно нужен GitHub для использования git, но вам потребуется git для использования GitHub.

Начало работы с GIT

Вам необходимо установить git в вашей операционной системе. Это руководство поможет вам.
Кроме того, создайте учетную запись GitHub, и давайте продолжим.

Как работает git GitHub и его команды

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

Измененные файлы добавляются в промежуточную область, которая действует как временное расположение файлов.

Все подготовленные файлы готовы к фиксации / перемещению в локальный репозиторий. До этого момента изменения видны только на локальном компьютере разработчика и не могут быть доступны другим участникам онлайн.
Чтобы сделать файл доступным в Интернете, вам необходимо разместить его на веб-хостинге, таком как GitHub. Итак, вам нужно подтолкнуть локальный репозиторий, чтобы синхронизировать его с удаленным репозиторием.

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

1. Git status

Команда 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>

2. Git add

Команда git add используется для перемещения файлов в промежуточную область для фиксации. Чтобы обработать ваши файлы, используйте команды ниже;
git add filename - добавить конкретный файл

git add - all, что сокращено до git add -A, содержит все файлы, то есть новые, измененные и удаленные файлы. С другой стороны, команда git add. обрабатывает только новые и измененные файлы, исключая удаленные файлы.

3. Git commit.

git commit перемещает репозиторий из промежуточной области в локальный репозиторий. Другими словами, он сохраняет снапшоты изменений, внесенных в локальный репозиторий, вместо того, чтобы слепо копировать весь репозиторий еще раз.
Каждый раз, когда вы делаете коммит, вы должны давать краткое сообщение, объясняющее сделанные изменения.
Например;

git commit –m “solved the two sum problem”

4. Git pull

Команда pull помогает поддерживать локальное репо в актуальном состоянии с удаленным репозиторием. Она передает любые изменения, внесенные другим участником в удаленном репозитории, в ваш локальный репозиторий.
Чтобы вытащить изменения, вам необходимо установить исходную или родительскую
команду удаленного репозитория :

git remote add origin LinkToTheRemoteRepo

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

git pull origin master

* Примечание: * при работе над командным проектом рекомендуется вытягивать изменения перед командой push.

5. Git push

Команда git push передает изменения коммитов из локального репозитория в удаленный репозиторий (GitHub). Таким образом, внесенные вами изменения будут опубликованы в центральном репозитории и доступны в Интернете.
Команды
git push origin main отправляют коммиты в основную ветку, или главную ветвь
git push origin branchName подталкивает коммиты в указанную ветку (вы узнаете о ветвях вскоре)

Ветвление и слияние на GitHub

Ветвление просто означает создание другой линии разработки (ветки), где вы можете тестировать и экспериментировать с новыми вещами, прежде чем внедрять их в основную кодовую базу. Таким образом, практика ветвления избавит вас от путаницы с производственной кодовой базой.

После тестирования новых изменений в ветке, вы можете позже интегрировать их с основной линией разработки. Этот акт интеграции ветвей в основную линию развития известен как слияние.

Команды ветки Git

Команда 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

Я очень ценю, что вы зашли. Надеюсь, статья вам помогла. 

Источник

Forem logo
Коментарии
Авторизоваться что-бы оставить комментарий
Присоединяйся в тусовку
Наш сайт использует файлы cookie для вашего максимального удобства. Пользуясь сайтом, вы даете свое согласие с условиями пользования cookie