点击 Ikaros 仓库主页右上角的 Fork
按钮即可。
git clone https://github.com/{YOUR_USERNAME}/ikaros --recursive
添加主仓库方便未来同步主仓库最新的 commits 以及创建新的分支。
git remote add upstream https://github.com/ikaros-dev/ikaros.git
git fetch upstream
需要初始化是由于主题使用的是git module关联的另一个仓库
git submodule init
git submodule update
我们需要从主仓库的主分支创建一个新的开发分支。
git checkout upstream/master
git checkout -b {YOU_BRANCH_NAME}
在新创建的分支做一些开发
git add .
git commit -s -m "Fix a bug or issue"
在提交 Pull Request 之前,尽量保证当前分支和上游仓库的代码尽可能同步,这时需要我们手动操作。确保当前所处于新建的分支
示例:
git fetch upstream master
git merge upstream master
git push origin {YOU_BRANCH_NAME}
注意:merge 上游仓库可能会存在冲突,需要你手动解决并提交一个commit,再进行push
进入此阶段说明已经完成了代码的编写,测试和自测,并且准备好接受 Code Review。
回到自己的仓库页面,选择 New pull request
按钮,创建 Pull request
到原仓库的 master
分支。
然后等待我们 Review 即可,如有 Change Request
,再本地修改之后再次提交(commit)并推送(push)即可。
提交 Pull Request 的注意事项:
- 提交 Pull Request 请充分自测。
- 每个 Pull Request 尽量只解决一个 Issue,特殊情况除外。
- 应尽可能多的添加单元测试,其他测试(集成测试和 E2E 测试)可看情况添加。
Code Review 阶段可能需要 Pull Request 作者重新修改代码,请直接在当前分支 commit 并 push 即可,无需关闭并重新提交 Pull Request。示例:
git add .
git commit -s -m "Refactor some code according code review"
git push origin bug/xxx
同时,若已经进入 Code Review 阶段,请不要强制推送 commits 到当前分支。否则 Reviewers 需要从头开始 Code Review。
删除本地新建的分支
git checkout master
git branch -D {YOU_BRANCH_NAME}
删除远端新建分支 你可以直接在PR页面进行删除fork仓库的新分支,也可以本地通过命令删除
git remote origin
git push origin --delete {YOU_BRANCH_NAME}
删除本地仓库的远程fork仓库分支引用 请先确保已经删除远程分支
git remote prune origin
更新本地和fork仓库主分支
git pull upstream master
git push origin master