Сегодня мы узнаем, как скопировать чужой репозиторий в наш аккаунт (разветвление в Git с помощью Git Fork), чтобы внести изменения или использовать хранилище для наших собственных целей.
Что такое Git Fork?
Fork — это копия репозитория. Раздвоение репозитория позволяет свободно экспериментировать с изменениями, не затрагивая исходный проект.
Разветвление в GitHub — это процесс создания копии полного репозитория для учетной записи пользователя на GitHub из другой учетной записи. Когда пользователь разветвляет репозиторий, все файлы в нем автоматически копируются в учетную запись пользователя на GitHub, и это выглядит как собственный репозиторий пользователя. Этот процесс похож на копирование папки с одного диска на другой диск компьютера. Затем пользователь может свободно использовать этот репозиторий либо для своих целей, либо экспериментировать с изменениями в коде. С помощью разветвления git пользователи могут разрабатывать свои собственные модификации кода, который принадлежит кому-то другому.
Следует отметить, что этот процесс не оказывает никакого влияния на исходный код репозитория (также называемый восходящим репозиторием).
Раздвоение 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.
Появится сообщение о том, что репозитория с таким именем нет.
Это происходит потому, что если вы посмотрите на левую колонку страницы, то по умолчанию в ней будут выбраны репозитории. Поскольку никакого хранилища с именем harishrajora не существует, оно показало это сообщение. Мы знаем, что harishrajora-это имя пользователя, поэтому выберите пользователей в списке.
Если вы используете имя+репозиторий в качестве параметра поиска, то введите в строке поиска следующее и нажмите All GitHub.
Продолжая поиск по имени пользователя, который мы сделали сначала, как только вы выберете пользователя, откроется его профиль. В профиле будут показаны популярные репозитории. Выберите ToolsQA среди репозиториев.
Нажатие ToolsQA откроет страницу репозитория. Вы также можете пропустить все вышеперечисленные шаги и перейти на страницу репозитория непосредственно по этой ссылке. Но, лучше знать, как ориентироваться.
Нажмите кнопку Fork, чтобы начать процесс раздвоения git.
Репозиторий ToolsQA будет разветвлен на ваш аккаунт мгновенно. Это можно увидеть по вашему имени пользователя после разветвления репозитория.
Теперь, когда у вас есть копия репозитория с помощью Git fork, вы можете изменить и улучшить код в соответствии с вашими потребностями. Также будут случаи, когда вы захотите удалить раздвоенный репозиторий.
Как Удалить Раздвоенный Репозиторий?
Пользователь может удалить раздвоенный репозиторий по любой причине. К счастью, это очень простой процесс. Просто имейте в виду, что не следует удалять репозиторий до тех пор, пока изменения не будут объединены в исходный репозиторий или пользователь не будет слишком уверен в удалении репозитория, так как после удаления вы потеряете все изменения.
Давайте удалим тот же самый репозиторий, который мы разветвляли выше. Для этого перейдите на страницу репозитория (ToolsQA), с которой мы разошлись в последнем разделе. Вы можете перейти на страницу репозитория из списка, расположенного в левом столбце панели мониторинга.
На странице репозитория перейдите в раздел Настройки, расположенный в верхней строке.
На странице настроек прокрутите вниз до нижней части страницы, и появится раздел под названием Опасная зона.
Нажмите Удалить этот репозиторий в этом разделе, как показано на рисунке выше.
На экране появится отказ от ответственности с просьбой переписать имя репозитория. Напишите имя репозитория, как показано на рисунке, и нажмите кнопку I understand the consequences, delete this repository button.
Это приведет к успешному удалению репозитория.