如何在github为其余项目贡献代码

环境介绍

在整个贡献代码过程当中,应该牢记如下几个环境。其实绝大部分的操做都是在咱们的本地电脑完成。  

- 别人的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
  • 3.[C]克隆项目到本地
git clone git@github.com:RickieL/zabbix-templates.git
     cd zabbix-templates
  • 4.[C]在本地对代码进行修改和提交
echo 'new test' >> README.md
    git add README.md
    git commit -m "新增测试代码"
  • 5.[C]在本地添加上游(注意不是本身的)远程仓库
你在努力让项目变得更好的同时,项目原做者也在努力,也有在变动原代码。怎样让上游仓库的更改同步到本地呢?
    git remote add upstream git@github.com:rwx------/zabbix-templates.git
    git fetch upstream # 从上游仓库获取分支及相关的提交信息,它们将被保存在本地upstream/master分支
  • 6.[C]切换到本地的master分支
git checkout master
  • 7.[C]合并上游的更新
# 把`upstream/master` 分支合并到本地的 `master` 分支,本地的 `master` 分支便跟上游仓库保持同步了,而且没有丢失你本地的修改。
# 操做过程当中,可能本身的修改和上游的修改产生了冲突,须要解决冲突的部分。
git merge upstream/master
  • 8.[C]提交到本身的github仓库。
git push origin master
  • 9.[B]pull request
在本身的github页面,发起pull request请求, 别人接不接受你的pull request,就看你的代码质量和原做者的态度了
相关文章
相关标签/搜索