如何在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,就看你的代碼質量和原做者的態度了
相關文章
相關標籤/搜索