- Оглавление
- Введение
- Использование GitHub
- Создание локального git-репозитория
- 1. Инициализация нового git-репозитория
- 2. Создайте файл
- 3. Зафиксировать изменения
- Создание репозитория на GitHub
- 1. Войдите на GitHub
- 2. Создайте репозиторий на GitHub
- Отправка кода в репозиторий GitHub
- 1. Добавьте remote в локальный git-репозиторий
- 2. Переименуйте ветку с master на main.
- 3. Отправка кода на GitHub
- Вклад в проекты с открытым исходным кодом
- Шаг 1: Поиск репозитория для участия в проекте
- Шаг 2: Форк репозитория
- Шаг 3: Клонирование вилки
- Шаг 4: Переход к локальному хранилищу
- Шаг 5: Проверка удаленности «origin»
- Шаг 6: Добавление «upstream» пульта
- Шаг 7: Извлечение последних изменений
- Шаг 8: Создание новой ветки
- Шаг 9: Внесение изменений
- Шаг 10: Фиксация изменений
- Шаг 11: Передача изменений в форк
- Шаг 12: Создание запроса на притяжение
- Шаг 13: Обсуждение заявки
- Шаг 14: Добавление новых коммитов к существующему запросу на притяжение
- Шаг 15: Повторное обсуждение pull request
- Шаг 16: Удаление ветки из форка
- Шаг 17: Удаление ветки из локального репозитория
- Шаг 18: Синхронизация форка с репозиторием проекта
Оглавление
- Введение
- Использование GitHub
- Создание локального git-репозитория
- Создание репозитория на GitHub
- Размещение кода в репозитории GitHub
- Вклад в проекты с открытым исходным кодом
- Шаг 1: Найдите репозиторий, в который можно внести свой вклад
- Шаг 2: Форкирование репозитория
- Шаг 3: Клонирование форка
- Шаг 4: Переход к локальному репозиторию
- Шаг 5: Проверка «origin» remote
- Шаг 6: Добавление «upstream» remote
- Шаг 7: Извлечение последних изменений
- Шаг 8: Создание новой ветки
- Шаг 9: Внесение изменений
- Шаг 10: Коммит изменений
- Шаг 11: Передача изменений в вилку
- Шаг 12: Создание pull request
- Шаг 13: Обсуждение pull request
- Шаг 14: Добавление дополнительных коммитов к существующему запросу на исправление
- Шаг 15: Повторное обсуждение запроса на исправление
- Шаг 16: Удаление ветки из форка
- Шаг 17: Удаление ветки из локального репозитория
- Шаг 18: Синхронизация вилки с репозиторием проекта
Введение
Майк: Привет, VT, ты научил меня git
здесь. С тех пор мне очень нравится работать с git
.
Недавно я услышал о терминах GitHub и Open Source Software. Мне интересно узнать о них. Не могли бы вы рассказать мне что-нибудь о них?
ВТ: Да, конечно.
💡 GitHub — это, по сути, облачный сайт, на котором вы можете размещать git-репозитории и сотрудничать с другими людьми.
💡 Программное обеспечение с открытым исходным кодом — это тип программного обеспечения, исходный код которого находится в свободном доступе и распространяется по лицензии, которая позволяет изучать, изменять и использовать код без ограничений.
Майк: Не могли бы вы объяснить, как я могу использовать GitHub?
ВТ: Хорошо, давайте начнем.
Использование GitHub
VT: Давайте создадим git-репозиторий и разместим его на GitHub.
Майк: Хорошо, я взволнован.
📌 Убедитесь, что у вас установлен
git
, прежде чем двигаться дальше.
Создание локального git-репозитория
1. Инициализация нового git-репозитория
VT: Сначала нам нужно создать git-репозиторий на нашем компьютере.
Откройте терминал (или командную строку) в пустой папке или папке проекта и выполните следующую команду:
$ git init
Выход:
2. Создайте файл
VT: Теперь у нас создан репозиторий git
. Давайте создадим новый файл.
Создайте новый файл (или измените существующий) в папке, где мы установили git-репозиторий.
Назовем наш файл index.html
и добавим в него следующий код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>GitHub Guide</title>
</head>
<body>
<h1>Hello GitHub!</h1>
</body>
</html>
Сохраните файл.
VT: Теперь мы можем выполнить эту команду, чтобы увидеть наши изменения, отслеживаемые git
.
$ git status
Выход:
3. Зафиксировать изменения
VT: Давайте зафиксируем наши изменения.
Выполните следующие команды:
$ git add index.html
$ git commit -m "added index.html"
Выход:
Майк: Хорошо, я успешно зафиксировал свои изменения. Что дальше?
VT: Далее, самая интересная часть, мы создадим репозиторий на GitHub.
Создание репозитория на GitHub
1. Войдите на GitHub
VT: Первый шаг — войти в GitHub.
📌 Если вы новичок на GitHub, создайте новый аккаунт на GitHub.
📌 В целях безопасности GitHub предоставляет PAT (Personal Access Token) для использования вместо пароля при размещении кода на GitHub. Пожалуйста, сгенерируйте PAT сразу после первого входа в GitHub. Вы можете сгенерировать PAT, следуя этому руководству.
2. Создайте репозиторий на GitHub
VT: Нажмите на значок +
в правом верхнем углу главной страницы GitHub.
Выберите Новый репозиторий
.
Откроется страница для создания нового репозитория.
Введите имя и описание (необязательно) для нового хранилища.
Выберите, сделать ли хранилище Public
или Private
.
Нажмите кнопку Создать репозиторий
в нижней части страницы.
VT: Теперь у нас есть созданный репозиторий GitHub. Давайте посмотрим, как мы можем перенести наш код в репозиторий GitHub.
Отправка кода в репозиторий GitHub
1. Добавьте remote в локальный git-репозиторий
Майк: Что вы имеете в виду под добавлением remote?
VT: Подключение нашего локального git-репозитория к удаленному (онлайн) репозиторию, например, к репозиторию GitHub, и есть то, что означает добавление remote.
Это позволяет нам получать обновления и передавать наши изменения в удаленный репозиторий.
Мы можем добавить remote в наш локальный git-репозиторий, выполнив следующую команду:
$ git remote add origin URL_OF_GITHUB_REPOSITORY
📌 Обязательно замените
URL_OF_GITHUB_REPOSITORY
на URL вашего собственного репозитория GitHub с добавлением.git
в конце.
2. Переименуйте ветку с master
на main
.
VT: Прежде чем мы сможем отправить наш git-репозиторий на GitHub, мы должны переименовать ветку master
в main
.
Майк: Почему мы должны переименовать ветку git?
ВТ: Потому что GitHub использует main
в качестве ветки по умолчанию, в то время как git использует master
.
Выполните следующую команду, чтобы переименовать текущую ветку в main
:
$ git branch -M main
3. Отправка кода на GitHub
VT: Теперь пришло время отправить наш код на GitHub.
Выполните следующую команду:
$ git push -u origin main
Когда появится запрос, введите имя пользователя и пароль GitHub.
📌 Вместо пароля используйте свой PAT (Personal Access Token).
Поздравляем! Теперь у нас есть полный репозиторий GitHub.🎉🎉🎉
Вклад в проекты с открытым исходным кодом
Шаг 1: Поиск репозитория для участия в проекте
VT: Чтобы внести вклад в проект с открытым исходным кодом, мы должны сначала перейти в репозиторий проекта на GitHub.
Но для практики я создал репозиторий GitHub под названием github-playground
. Вы можете найти его здесь.
📌 Я рекомендую вам следовать этому руководству и вносить вклад в репозиторий GitHub (
github-playground
).
VT: Перейдите на https://github.com/vishwast03/github-playground.
Шаг 2: Форк репозитория
Майк: Что вы имеете в виду под «форкингом»?
VT: Здесь «форк» означает копирование оригинального репозитория на наш собственный аккаунт.
Чтобы форкнуть репозиторий, нажмите на кнопку Fork
в правом верхнем углу репозитория.
На следующей странице нажмите кнопку Create fork
внизу.
Шаг 3: Клонирование вилки
VT: Теперь нам нужно клонировать
форкнутый репозиторий на нашу локальную машину с помощью git
.
Клонирование означает копирование удаленного хранилища на нашу локальную машину. Это делается для того, чтобы иметь возможность работать над проектом.
Для клонирования:
- Сначала нажмите кнопку
Code
на форкнутом проекте на вашем GitHub.
- Скопируйте URL-адрес из открывшейся вкладки.
- Выполните следующую команду для клонирования форкнутого репозитория.
$ git clone URL_OF_FORK
📌 Обязательно замените
URL_OF_FORK
на URL, который вы скопировали в предыдущем шаге.
Выход:
Шаг 4: Переход к локальному хранилищу
VT: Используйте следующую команду для перехода к локальному хранилищу:
$ cd NAME_OF_REPOSITORY
Шаг 5: Проверка удаленности «origin»
VT: Теперь мы проверим, добавлен ли наш форк в качестве удаленного origin
или нет.
Используйте следующую команду, чтобы перечислить все удаленные устройства:
$ git remote -v
Вывод вышеприведенной команды должен выглядеть следующим образом:
📌 Если ваша вилка не была правильно добавлена как
origin
, вы можете использовать следующую команду, чтобы добавить ее вручную:
$ git remote add origin URL_OF_FORK
📌 Обязательно замените
URL_OF_FORK
на URL вашего форка на GitHub.
Шаг 6: Добавление «upstream» пульта
VT: Прежде чем начать работу над проектом, мы должны добавить оригинальный репозиторий проекта в качестве удаленного upstream
в наш локальный репозиторий.
Это позволит нам получать обновления из основного проекта.
Используйте следующую команду для добавления удаленного upstream
в наш локальный репозиторий:
$ git remote add upstream URL_OF_PROJECT
📌 Обязательно замените
URL_OF_PROJECT
на URL исходного проекта (не форка).
Вы можете проверить, был ли добавлен пульт или нет, выполнив следующую команду:
$ git remote -v
Результат должен выглядеть следующим образом:
Шаг 7: Извлечение последних изменений
VT: Лучшая практика — всегда загружать последние изменения из upstream
перед началом работы над проектом.
Выполните следующую команду для извлечения последних изменений из upstream
в наш локальный репозиторий:
$ git pull upstream main
Выход:
Шаг 8: Создание новой ветки
VT: Давайте создадим новую ветку, чтобы начать нашу работу.
💡 Всегда создавайте новую ветвь перед началом работы над проектом.
Выполните следующую команду:
$ git checkout -b BRANCH_NAME
📌 Обязательно замените
BRANCH_NAME
на имя, которое вы хотите дать своему ответвлению (например,feature
).
Вы можете перечислить все свои ответвления, выполнив следующую команду:
$ git branch
Выход:
Шаг 9: Внесение изменений
VT: Пришло время внести некоторые изменения в наш проект.
Если вы работаете над проектом github-playground
, откройте файл Players.md
в вашем любимом текстовом редакторе.
Добавьте следующую строку в файл Players.md
:
- [YOUR_NAME](YOUR_PROFILE_URL)
📌 Обязательно замените
YOUR_NAME
на ваше настоящее имя иYOUR_PROFILE_URL
на URL вашего профиля (вы можете использовать любой профиль, который вы хотите, например, GitHub, Twitter, dev.to и т.д.).📌 Если вы не хотите делиться своим профилем, напишите свое имя так:
- YOUR_NAME
Сохраните файл.
Шаг 10: Фиксация изменений
VT: Теперь давайте сделаем фиксацию изменений в репозитории.
Выполните следующую команду, чтобы добавить изменения в область постановки и сделать фиксацию в хранилище:
$ git add .
$ git commit -m "DESCRIPTION_OF_CHANGES"
📌 Обязательно замените
DESCRIPTION_OF_CHANGES
на фактическое описание.
Выход:
Шаг 11: Передача изменений в форк
VT: Теперь мы отправим наши изменения в наш форкнутый репозиторий.
Майк: Почему мы должны отправлять изменения в форкнутый репозиторий? Разве мы не можем просто перенести изменения в оригинальный репозиторий?
VT: Мы не можем перенести изменения непосредственно в оригинальный репозиторий. У нас нет доступа к этому хранилищу.
Мы должны сначала перенести изменения в форкнутый репозиторий, а затем сделать запрос на извлечение оттуда.
Выполните следующую команду, чтобы перенести изменения в форкнутый репозиторий:
$ git push origin BRANCH_NAME
📌 Обязательно замените
BRANCH_NAME
на название ветки, с которой вы работаете.
Когда появится запрос, введите имя пользователя и пароль GitHub.
📌 Вместо пароля используйте свой PAT (Personal Access Token).
Выход:
Шаг 12: Создание запроса на притяжение
VT: Теперь пришло время сделать запрос на исправление.
Перейдите к форкнутому репозиторию на GitHub.
Должно появиться приглашение сделать pull requset.
Нажмите на кнопку Compare & pull request
.
На следующей странице добавьте Title
и Description
к вашему pull request.
Теперь нажмите кнопку Create pull request
внизу.
Мы успешно создали запрос на притяжение. Ура!
Майк: О! Отлично! Что нам нужно делать дальше?
ВТ: Теперь мы должны обсудить запрос на исправление с сопровождающим репозитория и, если необходимо, внести дополнительные изменения.
Шаг 13: Обсуждение заявки
VT: Теперь, когда мы сделали запрос на исправление, владелец/сопровождающий хранилища будет уведомлен об этом.
Мейнтейнеры могут начать обсуждение запроса и, если необходимо, предложить изменения.
Если они удовлетворены внесенными нами изменениями, они либо объединят изменения обратно в исходный репозиторий, либо предложат некоторые изменения.
Если они предложили какие-либо изменения, мы должны их реализовать и сделать еще один коммит к существующему запросу.
Шаг 14: Добавление новых коммитов к существующему запросу на притяжение
VT: Если нам нужно внести изменения после подачи pull request, мы должны перейти в наш локальный git-репозиторий и внести изменения там.
Для этого мы должны переключиться на ветку, над которой мы работали ранее.
Выполните следующие команды для проверки и переключения ветки:
$ git branch
$ git checkout BRANCH_NAME
📌 Обязательно замените
BRANCH_NAME
на название ветки, с которой вы работали.
Выход:
Теперь, когда мы переключились на ветку, с которой будем работать, нам нужно просто повторить шаги с 9 по 11.
Шаг 15: Повторное обсуждение pull request
VT: Теперь мы должны повторно обсудить запрос на исправление с сопровождающими хранилища.
Если сопровождающие одобрят и объединят ваши изменения, вы сделаете свой первый вклад в открытый исходный код. Пришло время праздновать.🎉🎉🎉
Майк: Ура!!!
Шаг 16: Удаление ветки из форка
VT: Теперь нам нужно провести некоторую очистку.
Мы должны удалить ветку из нашего форка на GitHub.
Для этого мы должны сначала перейти на страницу нашего форкнутого репозитория и открыть выпадающий список с названием ветки main
.
Нажмите View all branches
в нижней части выпадающего меню.
Нажмите кнопку удаления, соответствующую ветке, с которой мы работали.
Нажмите Удалить
в появившемся всплывающем окне.
Шаг 17: Удаление ветки из локального репозитория
VT: Теперь мы удалим ветку из нашего локального репозитория.
Сначала переключитесь на ветку main
, выполнив следующую команду:
$ git checkout main
Теперь выполните следующую команду, чтобы удалить ветку из локального git-репозитория:
$ git branch -D BRANCH_NAME
📌 Обязательно замените
BRANCH_NAME
на название ветки, с которой вы работали.
Выходные данные:
Шаг 18: Синхронизация форка с репозиторием проекта
VT: Наконец, если мы собираемся вносить вклад в этот проект в будущем, мы должны синхронизировать наш форк с репозиторием проекта.
Для этого просто выполните следующую команду:
$ git pull upstream main
$ git push origin main
Введите имя пользователя и пароль, когда появится запрос.
📌 Вместо пароля используйте свой PAT (Personal Access Token).
Эти команды извлекут последние изменения из репозитория проекта и перенесут их в наш форк.
Поздравляем с вашим первым вкладом в открытый исходный код!🎉🎉🎉
Надеюсь, вы нашли что-то полезное в этом посте. Вы также можете следить за мной на LinkedIn и Twitter.
Будьте здоровы и до встречи в следующем! ✌️