-
Notifications
You must be signed in to change notification settings - Fork 23
Workflow
MengchengJ edited this page Mar 8, 2019
·
8 revisions
为了保证合作开发,明确开发过程中的工作流程。请务必认真阅读本文并正确操作。协会感谢每一位贡献者的劳动。
为避免冗余信息,本文假设读者已了解Git的基本操作并能够熟练使用Github。
- 主代码库:
https://github.com/CAPU-ENG/CAPUBBS
- 个人代码库:
https://github.com/<username>/CAPUBBS
(<username>
为你的用户名) - 本地代码库:从个人代码库clone至本地开发环境的代码镜像
现在从你刚刚加入这个开发团队开始讲起。
- 登陆Github帐号
- 配置 SSH: https://help.github.com/articles/generating-ssh-keys
- 进入主代码库: https://github.com/CAPU-ENG/CAPUBBS
- Fork 主代码库: https://github.com/CAPU-ENG/CAPUBBS/fork
- 选择Fork到个人账户
- 打开终端(*nix)或者git bash(Windows),
cd
至一个合适的工作目录 -
git clone git@github.com:<username>/CAPUBBS.git
,用你的用户名替换<username>
- Clone完毕后该工作目录下会出现一个名为
CAPUBBS
的文件夹 -
cd CAPUBBS
即可进入本地代码库(切记这一步,否则很容易出错) git remote add upstream https://github.com/CAPU-ENG/CAPUBBS.git
到这里,你已经成功复制代码到本地并将主代码库设置成名为upstream的remote。
在你想对代码进行修改之前,请确保队友知道你要做什么(避免冲突)。然后执行以下步骤来使你的本地代码与主分支同步:
git checkout master
git fetch upstream
git rebase upstream/master
这时可以确保你的本地代码库已经和主代码库同步。接着就可以在本地代码库进行各种修改。
- 切换到新分支:
git checkout -b <newfeature>
(分支名称最好有点意义) - 根据需要开发代码并测试功能
- 测试通过后,将改动添加至git:
git add .
- 添加commit:
git commit -m "your commit"
(commit要有意义,每进行一项修改就要commit一次,不要修改了好几个功能一起commit,如果要顺带关掉issue的话,在commit里添加Fix #NNN ,其中NNN为对应的issue编号) - Push 新分支至个人代码库:
git push origin <newfeature>
- 进入个人代码库的相应分支,
https://github.com/<username>/CAPUBBS/tree/<newfeature>
- 这时你会看到文件目录的上方出现显示比主代码库超前(ahead)了若干个commit
- 点击右侧有个绿色的pull request按钮,按照要求说明修改内容(注意有意义),提交
目前只提供merge权限给熟悉工作流程的账户,我们的目标是让所有参与开发的人都熟悉工作流程
- 由至少一名其他团队成员review提交的pull request修改
- 解决所有其他团队成员提出的疑问和建议,可能需要修改代码并更新pull request但无需重复提交
- 至少一名其他团队成员觉得没有问题之后,由具有merge权限的账户执行merge操作
再次强调请大家遵守以上操作流程,并将本wiki作为入门必读材料,确保团队合作的顺利进行。
协会感谢每一个在此付出的人。