在整個貢獻代碼過程當中,應該牢記如下幾個環境。其實絕大部分的操做都是在咱們的本地電腦完成。 - 別人的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,就看你的代碼質量和原做者的態度了