Делаем форк (Fork)
Копируем проект к себе
В консоли заходим в папку с нашими проектами и выполняем команды по копированию:
G:\OpenServer\domains>git clone https://github.com/diman3210/MathExecutor Cloning into 'MathExecutor'... remote: Enumerating objects: 64, done. remote: Counting objects: 100% (64/64), done. remote: Compressing objects: 100% (46/46), done. remote: Total 784 (delta 28), reused 35 (delta 11), pack-reused 720 Receiving objects: 100% (784/784), 151.27 KiB | 8.40 MiB/s, done. Resolving deltas: 100% (424/424), done.
Создаем проект в редакторе кода
У нас появилась папка по адресу: g:\OpenServer\domains\MathExecutor\
В ней создали проект. У меня в PHPStorm получилось такое:
Создаем новую ветку
git status должен работать:
G:\OpenServer\domains\MathExecutor>git status On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean
Собственно, создаем ветку и переходим на нее:
G:\OpenServer\domains\MathExecutor>git branch function G:\OpenServer\domains\MathExecutor>git checkout function Switched to branch 'function'
Выполняем нужные изменения и проводим тесты
Собственно, выполняем нужные изменения и тестируем, чтобы все работало.
Коммиттим нужные файлы и заливаем на github
Добавим нужные файлы:
G:\OpenServer\domains\MathExecutor>git add README.md src/NXP/MathExecutor.php
И выполним коммит:
G:\OpenServer\domains\MathExecutor>git commit -m "add new default functions" [function a2d5cc5] add new default functions 3 files changed, 83 insertions(+), 7 deletions(-) create mode 100644 tests/new_func_test.php
Смотрим к какому репозиторию мы подключены:
G:\OpenServer\domains\MathExecutor>git remote origin
Заливаем на github:
G:\OpenServer\domains\MathExecutor>git push -u origin function Enumerating objects: 14, done. Counting objects: 100% (14/14), done. Delta compression using up to 12 threads Compressing objects: 100% (7/7), done. Writing objects: 100% (8/8), 1.06 KiB | 1.06 MiB/s, done. Total 8 (delta 4), reused 0 (delta 0), pack-reused 0 remote: Resolving deltas: 100% (4/4), completed with 4 local objects. remote: remote: Create a pull request for 'function' on GitHub by visiting: remote: https://github.com/diman3210/MathExecutor/pull/new/function remote: To https://github.com/diman3210/MathExecutor * [new branch] function -> function Branch 'function' set up to track remote branch 'function' from 'origin'.
Мы залили изменения в репозиторий «origin», в ветку «function».
Делаем pull request в основную ветку пакета
Автор должен принять предложенные Вами изменения.