![Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine) Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)](/uploads/2024/images/19/81/04/2024/02/05/f833d5.webp)
Рис. 1: Медленно положи свой код на пол и пни ко мне!
Ты написал новую крутую фичу? Нашел ошибку в существующем коде? Пришло время прислать новый код в общий репозиторий, чтобы все могли воспользоваться плодами твоих трудов (бесплатно).
Первый шаг — на Гитхабе делаем форк проекта (https://github.com/AlexWan/OsEngine). Для этого нажимаем Fork:
![Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine) Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)](/uploads/2024/images/19/81/04/2024/02/05/0d3311.webp)
И «Create Fork» на следующем экране:
![Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine) Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)](/uploads/2024/images/19/81/04/2024/02/05/17fc94.webp)
В результате в твоем аккаунте появится копия репозитория проекта. В моем случае — github.com/nikitabuida/OsEngine. Далее будем называть этот репозиторий форком.
Теперь нужно скачать этот форк на локальную машину и внести изменения в проект.
![Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine) Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)](/uploads/2024/images/19/81/04/2024/02/05/7120ba.webp)
Скачиваем код форка. Показываю на примере командной строки, но это же самое можно сделать при помощи любого удобного клиента Git:
![Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine) Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)](/uploads/2024/images/19/81/04/2024/02/05/fcd3e6.webp)
В результате этой команды весь код форка будет скачан в директорию C:\code\OsEngine-FORK.
Скачивание занимает какое-то время:
![Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine) Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)](/uploads/2024/images/19/81/04/2024/02/05/525c7b.webp)
Теперь вносим наши изменения в код, который скачали. Здесь подробно не буду останавливаться. Можно просто открыть проект в редакторе и исправить или скопировать готовые файлы, если исправления вносились где-то еще.
Показываю на примере исправления проскальзывания в авто-тестах серверов коннекторов.
![Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine) Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)](/uploads/2024/images/19/81/04/2024/02/05/cc8a54.webp)
Внес изменения в 4 файла.
Делаем коммит git commit -am «комментарий» :
И отправляем внесенные изменения в форк:
Теперь на Гитхабе наш форк отображается как на один коммит опережающий основной репозиторий. Нажимаем «Contribute»:
![Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine) Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)](/uploads/2024/images/19/81/04/2024/02/05/b9dcf9.webp)
И далее — жмем «open pull request»:
![Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine) Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)](/uploads/2024/images/19/81/04/2024/02/05/1809e0.webp)
На следующем экране отобразятся все вносимые в основной проект изменения. Жмем «Create pull request»:
![Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine) Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)](/uploads/2024/images/19/81/04/2024/02/05/238d0d.webp)
И еще раз, такую же кнопку на следующем экране:
![Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine) Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)](/uploads/2024/images/19/81/04/2024/02/05/c73287.webp)
Поздравляю! Pull request создан. Теперь остается дождаться пока владелец репозитория включит (или нет) ваши изменения в основной репозиторий.
![Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine) Как прислать изменения в проект с открытым исходным кодом (на примере OsEngine)](/uploads/2024/images/19/81/04/2024/02/05/7b6c91.webp)
В любом случае информация о судьбе изменений придет на почту.
Если включены, то вечная слава и уважение сообщества тебе, программист!
котик на моего похож.
тема странная для сайта )
зашел на смарт отдохнуть от кода и прочей литературы, а тут на тебе, личинка хабра.
45 человек над проектом работают.
Если где-то ошибки — это виноваты чуваки со СмартЛаба. Я пишу идеальный код)
А то сейчас все решат что я отшучиваюсь.
Всё в наших руках!
Помог OsEngine пофиксить Баг = спас кота.