在整个贡献代码过程当中,应该牢记如下几个环境。其实绝大部分的操做都是在咱们的本地电脑完成。 - 别人的github项目A: https://github.com/rwx------/zabbix-templates - 个人github帐号B: https://github.com/RickieL - 个人本地电脑C: local 后面的介绍中,每一个步骤的操做环境都会以[A]、[B]、[C]来标示。
1.[B]登陆本身的github帐号git
2.[A]fork别人的代码github
登陆后,打开你须要贡献代码的项目,如本例中的 https://github.com/rwx------/zabbix-templates 点击页面上面的fork按钮,对项目进行fork 此时,你本身的帐号下,会产生一个新的项目: https://github.com/RickieL/zabbix-templates
git clone git@github.com:RickieL/zabbix-templates.git cd zabbix-templates
echo 'new test' >> README.md git add README.md git commit -m "新增测试代码"
你在努力让项目变得更好的同时,项目原做者也在努力,也有在变动原代码。怎样让上游仓库的更改同步到本地呢? git remote add upstream git@github.com:rwx------/zabbix-templates.git git fetch upstream # 从上游仓库获取分支及相关的提交信息,它们将被保存在本地upstream/master分支
master
分支git checkout master
# 把`upstream/master` 分支合并到本地的 `master` 分支,本地的 `master` 分支便跟上游仓库保持同步了,而且没有丢失你本地的修改。 # 操做过程当中,可能本身的修改和上游的修改产生了冲突,须要解决冲突的部分。 git merge upstream/master
git push origin master
pull request
在本身的github页面,发起pull request请求, 别人接不接受你的pull request,就看你的代码质量和原做者的态度了