Как известно всем производителям кода, gitHub — это платформа для размещения проектов с открытым исходным кодом и частных программных проектов, таких как исходный код ядра Linux, исходный код git, tensorflow фреймворка машинного обучения и так далее. Конечно, помимо этих топовых проектов, есть еще и большое количество отличных проектов, разработанных мастерами. Во всех этих проектах мы можем внести свой код.
Итак, как вы добавляете код в эти проекты? Мы объясним на примерах ниже.
Например, сейчас есть очень крутой проект на gitHub.githubTest, его автор — Элвин, а адрес проекта следующий:
https://github.com/yychuyu/githubTest
Теперь Гарри видит проект и хочет внести в него свой код. Чтобы достичь этой цели, Гарри должен выполнить следующие шаги, как показано на рисунке ниже:
1. fork
После того, как Гарри нашел предмет, нажмите "fork" кнопка. Через некоторое время идентичный проект githubTest будет клонирован под учетной записью Гарри, включая файлы, историю коммитов, проблемы и прочее.
2. clone
После прохождения форка на аккаунте Гарри тоже есть проект githubTest, но он пока не может его компилировать или модифицировать (на самом деле модифицировать можно, но не рекомендуется).
В настоящее время вы можете клонировать проект на свой компьютер с помощью команды git clone.
3. update a file & 4. commit
Далее Гарри смог показать свои навыки и свободно вносить изменения в проект. Однако модифицировать напрямую на ветке master не рекомендуется, рекомендуется на основе ветки master вырезать dev-ветку, а затем свободно играть на dev-ветке. После модификации объедините ветку dev с веткой master.
5. push
После изменения кода на своем компьютере используйте команду git push, чтобы синхронизировать изменения с вашим собственным репозиторием проекта gitHub.
После этой операции вы сможете увидеть свои коммиты в репозитории кода.
6. pull request
Затем отправьте свой код оригинальному автору, Элвину. Сначала нажмите на "New pull request".
После этого gitHub автоматически сравнит исходную ветку хранилища и код собственной ветки хранилища, чтобы увидеть, есть ли конфликт. Если он показывает "Able to merge", Гарри может щелкнуть "Create pull request"зеленая кнопка для отправки кода.
После этого система попросит вас написать комментарий, но это не обязательно. Но лучше написать и объяснить автору, что вы изменили и почему.
Выполнив указанные выше 6 шагов, первоначальный автор Элвин получит запрос на включение, как показано ниже:
Затем Элвин может щелкнуть мышью и посмотреть, какие именно изменения внес Гарри. Если он думает, что эта модификация действительно ничтожна, он может нажать "merge pull request, чтобы интегрировать фиксацию Гарри в свой собственный проект.
На данный момент заслуга завершена, и Гарри успешно завершил вклад кода в проект githubTest.
Тем не менее, этот проект настолько выдающийся, что многие эксперты видели и внесли большой вклад в код. Например, теперь Элвин сам отправляет файл:
Теперь, когда проект исходного автора изменился, как githubTest под учетной записью Гарри успевает за проектом первоначального автора Элвина? Гарри нужно сделать следующие три шага:
1. fetch
Теперь, когда код не синхронизирован, нам нужно сначала загрузить код из репозитория Alvin в репозиторий на нашем компьютере. Обратите внимание, что это делается на вашем собственном компьютере, а не на github.
git fetch git@github.com:yychuyu/githubTest.git master:latest
Вышеупомянутая команда, часть после git fetch, является адресом git исходного проекта Alvin автора. При нажатии на исходный проект "clone or downloadкнопку видно. После этой части master:latest, master — это исходная ветвь проекта, а last — собственная ветвь проекта. Если последней ветки не существует, она будет создана автоматически. На самом деле вы также можете загрузить код в свою основную ветку, но это не рекомендуется.
2. merge
После того, как код загружен в последнюю ветку, он переключается на основную ветку, а затем использует команду git merge для слияния последнего кода с основной веткой.
3. push
Код на компьютере Гарри теперь был синхронизирован с исходным кодом проекта. Затем мы можем использовать команду git push, чтобы отправить последний код в проект githubTest под учетной записью Гарри.
Конкретный рабочий процесс трех вышеуказанных шагов показан на рисунке ниже.
Далее Гарри может продолжать вносить свой собственный код на этой основе.
Для более интересного контента, пожалуйста, обратите внимание на общедоступный номерХороший линукс, публичный ответ1024Бесплатный доступ к технической информации 5T, включая:Linux, C/C++, Python, Raspberry Pi, встроенный, Java, AI,так далее. Ответ в публичном аккаунтев группу, приглашаем вас присоединиться к экспертной группе по обмену технологиями Ruyun.