Что такое Git Fork?

Автор: | 04.05.2020

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

Что такое Git Fork?

Fork — это копия репозитория. Раздвоение репозитория позволяет свободно экспериментировать с изменениями, не затрагивая исходный проект.

Разветвление в GitHub — это процесс создания копии полного репозитория для учетной записи пользователя на GitHub из другой учетной записи. Когда пользователь разветвляет репозиторий, все файлы в нем автоматически копируются в учетную запись пользователя на GitHub, и это выглядит как собственный репозиторий пользователя. Этот процесс похож на копирование папки с одного диска на другой диск компьютера. Затем пользователь может свободно использовать этот репозиторий либо для своих целей, либо экспериментировать с изменениями в коде. С помощью разветвления git пользователи могут разрабатывать свои собственные модификации кода, который принадлежит кому-то другому.

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

Fork-Repository

Раздвоение Git через GitHub — это процесс, который изолирован от GitHub. Это означает, что всякий раз, когда происходит fork git, репозиторий и код остаются ограниченными учетной записью пользователя на GitHub. Нет никакого влияния на локальную машину пользователя или участие Git в этом процессе.

 Зачем развлетвлять репозиторий на GitHub?

Разветвление репозитория GitHub предоставляет пользователю копию вышестоящего репозитория для его учетной записи. Но зачем нам понадобилось раскошеливаться на репозиторий, разработанный кем-то другим? Ответ на этот вопрос содержится в самой концепции GitHub. GitHub был разработан, чтобы обеспечить платформу для всех разработчиков по всему миру, чтобы они могли внести свой вклад в проект друг друга и сделать лучшее, более надежное программное обеспечение. Очевидно, что никто не захочет видеть сотни изменений без их согласия в исходном репозитории. Таким образом, возникает понятие копии хранилища или раздвоенного хранилища.

Разветвление репозитория на GitHub выполняется для двух основных целей:

  • Улучшение чьего-то кода/программного обеспечения: улучшение чьего-то кода не обязательно означает исправление ошибок и улучшение времени выполнения. Улучшение может заключаться в добавлении новой функции в существующее программное обеспечение / репозиторий.
  • Повторное использование кода в проекте: пользователь может также использовать вилку, чтобы использовать репозиторий другого пользователя в собственном проекте. Идея здесь — “зачем изобретать велосипед”. Популярность Git также объясняется тем, что люди добавляют свой код, проект, модуль, программное обеспечение и т. д. на GitHub в качестве публичного репозитория. Теперь другим людям разрешено использовать этот открытый исходный код в своем проекте, что помогает им экономить свои усилия и время.

Примечание: разветвление разрешено для публичных репозиториев без разрешения. Но если хранилище является частным, то «форкнуть» его можно только с разрешения владельца хранилища.

Git Fork-это простой процесс в GitHub, и он не требует использования какой-либо команды git. Процесс Git Fork выполняется следующим образом:

  • Fork A Repository: пользователь создает копию репозитория для своей учетной записи на GitHub, шаги для этого описаны в следующем разделе.
  • Изменения кода: это включает в себя клонирование git. Пользователь вносит изменения и отодвигает их обратно в свой собственный раздвоенный репозиторий.
  • Отправка изменений в исходный репозиторий: этот процесс называется Pull-запросом в Git. На этом этапе пользователь отправляет изменения владельцу репозитория в виде запроса. Теперь это зависит от владельца, чтобы принять изменения или отклонить. Pull request — это запрос к владельцу вышестоящего репозитория для принятия изменений пользователя.

Пришло время посмотреть, как это сделать.

 Как создать ветку репозитория на GitHub?

Чтобы создать ветку одного из репозиториев на GitHub для практики, войдите в свою учетную запись.

Найдем имя учетной записи — harishrajora, а имя репозитория-ToolsQA. Вы можете использовать любой из следующих параметров или оба из них для поиска репозитория.

Если вы используете имя в качестве параметра, введите его в строке поиска. Нажмите All GitHub после ввода имени, чтобы выполнить поиск везде в GitHub.

search_by_name_github

Появится сообщение о том, что репозитория с таким именем нет.

no_repo_find

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

Select_Users_Search_GitHub

Если вы используете имя+репозиторий в качестве параметра поиска, то введите в строке поиска следующее и нажмите All GitHub.

search_by_name_repo

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

ToolsQA_select_repo

Нажатие ToolsQA откроет страницу репозитория. Вы также можете пропустить все вышеперечисленные шаги и перейти на страницу репозитория непосредственно по этой ссылке. Но, лучше знать, как ориентироваться.

Нажмите кнопку Fork, чтобы начать процесс раздвоения git.

fork_a_repo

Репозиторий ToolsQA будет разветвлен на ваш аккаунт мгновенно. Это можно увидеть по вашему имени пользователя после разветвления репозитория.

forked_repo

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

Как Удалить Раздвоенный Репозиторий?

Пользователь может удалить раздвоенный репозиторий по любой причине. К счастью, это очень простой процесс. Просто имейте в виду, что не следует удалять репозиторий до тех пор, пока изменения не будут объединены в исходный репозиторий или пользователь не будет слишком уверен в удалении репозитория, так как после удаления вы потеряете все изменения.

Давайте удалим тот же самый репозиторий, который мы разветвляли выше. Для этого перейдите на страницу репозитория (ToolsQA), с которой мы разошлись в последнем разделе. Вы можете перейти на страницу репозитория из списка, расположенного в левом столбце панели мониторинга.

repository_Section

На странице репозитория перейдите в раздел Настройки, расположенный в верхней строке.Settings_Repository

На странице настроек прокрутите вниз до нижней части страницы, и появится раздел под названием Опасная зона.delete_this_repository

Нажмите Удалить этот репозиторий в этом разделе, как показано на рисунке выше.

На экране появится отказ от ответственности с просьбой переписать имя репозитория. Напишите имя репозитория, как показано на рисунке, и нажмите кнопку I understand the consequences, delete this repository button.

disclaimer_del_repo

Это приведет к успешному удалению репозитория.

repository_deleted

 

Git Pull
git pull

В последнем уроке мы познакомились с командой Git fetch и Read more

Git Fetch и Git Merge
Git Fetch и Git Merge

В одной из последних статей мы узнали о команде Git Read more

Как проверить зафиксированные изменения на GitHub

Мы уже знаем, как вносить изменения в локальное хранилище и Read more

Git Push – вносим изменения на GitHub
Git Push

Команда git push при выполнении перемещает изменения, внесенные пользователем на Read more

Что такое git Clone и как клонировать репозиторий?
Что такое git Clone и как клонировать репозиторий?

"Клонирование" означает создание идентичных особей естественным или искусственным путем. Клонирование Read more

Подключение локального репозитория к удаленному репозиторию GitHub
Подключение локального репозитория к удаленному репозиторию GitHub

Все данные, доступные в локальном репозитории, могут быть загружены в Read more

Раздел: Git Метки:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

7 − семь =