Fininja
Fininja личный блог
05 февраля 2024, 17:51

Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)

Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)
Рис. 1: Медленно положи свой код на пол и пни ко мне!

Ты написал новую крутую фичу? Нашел ошибку в существующем коде? Пришло время прислать новый код в общий репозиторий, чтобы все могли воспользоваться плодами твоих трудов (бесплатно).

Первый шаг — на Гитхабе делаем форк проекта (https://github.com/AlexWan/OsEngine). Для этого нажимаем Fork:

Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)

И «Create Fork» на следующем экране:
Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)

В результате в твоем аккаунте появится копия репозитория проекта. В моем случае — github.com/nikitabuida/OsEngine. Далее будем называть этот репозиторий форком.

Теперь нужно скачать этот форк на локальную машину и внести изменения в проект.

Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)

Скачиваем код форка. Показываю на примере командной строки, но это же самое можно сделать при помощи любого удобного клиента Git:

Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)


В результате этой команды весь код форка будет скачан в директорию C:\code\OsEngine-FORK.
Скачивание занимает какое-то время:

Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)

Теперь вносим наши изменения в код, который скачали. Здесь подробно не буду останавливаться. Можно просто открыть проект в редакторе и исправить или скопировать готовые файлы, если исправления вносились где-то еще.

Показываю на примере исправления проскальзывания в авто-тестах серверов коннекторов.


Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)

Внес изменения в 4 файла.

Делаем коммит git commit -am «комментарий» :

Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)

И отправляем внесенные изменения в форк:

Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)

Теперь на Гитхабе наш форк отображается как на один коммит опережающий основной репозиторий. Нажимаем «Contribute»:

Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)
И далее — жмем «open pull request»:


Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)


На следующем экране отобразятся все вносимые в основной проект изменения. Жмем «Create pull request»:

Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)


И еще раз, такую же кнопку на следующем экране:


Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)

Поздравляю! Pull request создан. Теперь остается дождаться пока владелец репозитория включит (или нет) ваши изменения в основной репозиторий.

Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)


В любом случае информация о судьбе изменений придет на почту.

Если включены, то вечная слава и уважение сообщества тебе, программист!


7 Комментариев
  • Тестер
    05 февраля 2024, 18:08

    котик на моего похож.

    тема странная для сайта )

    зашел на смарт отдохнуть от кода и прочей литературы, а тут на тебе, личинка хабра.

  • T-800
    05 февраля 2024, 18:56
    О, Великий Ван, только на тебя уповаем! А старые ошибки уже пофиксены?
    • Алексей Ван <o-s-a.net>
      05 февраля 2024, 19:01
      T-800, Делов не знаю.
      45 человек над проектом работают. 
      Если где-то ошибки — это виноваты чуваки со СмартЛаба. Я пишу идеальный код)
    • Алексей Ван <o-s-a.net>
      05 февраля 2024, 19:04
      T-800, Ну и без шуток.

      А то сейчас все решат что я отшучиваюсь.

      Всё в наших руках! 

      Помог OsEngine пофиксить Баг = спас кота. 
  • CatM8
    05 февраля 2024, 22:54
    А через Visual Studio разве не удобнее? Зачем командная строка?

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн