如何在5分鐘內做出你的第一個開源貢獻
提高程式設計技能的最好方法是編寫更多程式碼。第二種最好的方法是閱讀別人的程式碼。
還有什麼比在開放原始碼專案中協作更好的方法呢? 本文將介紹一個能夠幫助你開始對開源做出貢獻的專案—First contributions
- 它在GitHub上的地址:https://github.com/Roshanjossey/first-contributions/blob/master/README.md
如果你的電腦上尚未安git, 請按照下面的安裝指引進行安裝。
- 安裝指引:https://help.github.com/articles/set-up-git/
Fork(複製)本程式碼倉庫
點選圖中的按鈕去Fork這個程式碼倉庫。 這個操作會將程式碼倉庫複製到你的賬戶名下。
Clone(克隆)程式碼倉庫
接下來,將複製後的程式碼倉庫克隆到你的電腦上。點選圖中的綠色按鈕,接著點選複製到剪下版按鈕(將程式碼倉庫地址複製下來)
隨後開啟命令列視窗,輸入如下的git命令:
git clone "剛才複製的 url 連結"
“剛才複製的 url 連結”(去掉雙引號)就是複製到你賬戶名下的程式碼倉庫地址。獲取這連結地址的方法請見上一步。
比如:
git clone https://github.com/你的Github使用者名稱/first-contributions.git
‘你的Github使用者名稱’ 指的就是你的Github使用者名稱。在這一步,你將複製到你賬戶名下的first-contributions這個程式碼倉庫克隆到本地電腦上。
新建一個分支
下面的命令能在命令列視窗中,把目錄切換到 first-contributions
cd first-contributions
接下來使用 git checkout
命令新建一個程式碼分支
git checkout -b <新分支的名稱>
譬如:
git checkout -b add-myname
(新分支的名稱不一定需要有* add 。然而,在新分支的名稱加入 add *是一件合理的事情,因為這個分支的目的是將你的名字新增到列表中。)
對程式碼進行修改,然後Commit(提交)修改
開啟 Contributors.md
這個檔案,更新檔案內容,將你的名字加上去,儲存修改。git status
git add
這命令則可以新增你的改動,就像如下這條命令。
git add Contributors.md
現在就可以使用 git commit
命令 commit 你的修改了。
git commit -m "Add <你的名字> to Contributors list"
將 <你的名字>
替換為你的名字
將改動 Push(釋出)到 GitHub
使用 git push
命令釋出程式碼
git push origin <分支的名稱>
將 <分支的名稱>
替換為之前新建的分支名稱。
提出 Pull Request 將你的修改供他人審閱
前往 Github 你的程式碼倉庫,你會看到一個 Compare & pull request
的按鈕。點選該按鈕。
接著再點選 Create pull request
按鈕,正式提交 pull request。
額外的資訊
我們假定你之前已經完成了基本的教程。附加的資訊將提供關於高階Git技術的一些資訊。
從儲存倉庫中刪除分支
該文件提供瞭如何從儲存庫中刪除分支的資訊。
- 只有在你的pull request被合併後才執行下面步驟。
https://github.com/Roshanjossey/first-contributions/blob/master/additional-material/removing-branch-from-your-repository.md
將你的fork與儲存庫同步
該文件提供了關於如何使你的分叉(forked)儲存庫與基本儲存庫保持同步的資訊。這很重要,希望你和其他人能夠為這個專案做出貢獻。
- 如果你的fork在parent庫中沒有任何更改,請遵循這些步驟。
https://github.com/Roshanjossey/first-contributions/blob/master/additional-material/keeping-your-fork-synced-with-this-repository.md
重新提交
這個文件提供了關於如何在遠端儲存庫中恢復提交的資訊。當你需要撤銷已經被推到Github的提交時,它會很方便。
- 如果你想要重新提交,就採取這些步驟。
https://github.com/Roshanjossey/first-contributions/blob/master/additional-material/reverting-a-commit.md
修改提交
這個文件提供了關於如何在遠端儲存庫中修改提交的資訊。
- 當你需要調整你的提交時,使用這個辦法。
https://github.com/Roshanjossey/first-contributions/blob/master/additional-material/amending-a-commit.md
撤銷一個本地提交
這個文件提供了關於如何撤銷本地儲存庫中的提交的資訊。這是當你感到你已經將本地儲存庫弄亂並希望重新設定本地儲存庫時需要做的事情。
- 如果你想撤銷/重置本地提交,請執行以下步驟。
https://github.com/Roshanjossey/first-contributions/blob/master/additional-material/undoing-a-commit.md
解決合併衝突
這個文件提供了關於如何解決合併衝突的資訊。
- 採取這些步驟來解決惱人的合併衝突。
https://github.com/Roshanjossey/first-contributions/blob/master/additional-material/resolving-merge-conflicts.md
刪除一個檔案
該文件提供瞭如何從本地儲存庫中刪除檔案的資訊。
- 按照以下步驟學習如何在提交之前刪除檔案。
https://github.com/Roshanjossey/first-contributions/blob/master/additional-material/removing-a-file.md
將提交轉移到不同的分支
這個文件提供了關於如何將提交轉移到另一個分支的資訊。
- 採取這些步驟將提交轉移到另一個分支。
https://github.com/Roshanjossey/first-contributions/blob/master/additional-material/moving-a-commit-to-a-different-branch.md
配置git
本文提供了關於如何在git中配置使用者細節和其他選項的資訊。
- 使用它來更好地控制你的git配置。
https://github.com/Roshanjossey/first-contributions/blob/master/additional-material/configuring-git.md
為什麼要為開源專案貢獻自己的力量呢?
對開源專案做出貢獻是有很多好處的,比如有很多樂趣,提高你的技能,結識志同道合的人,找到很棒的導師,還會對你的職業生涯有所幫助等等。儘管如此,我還是覺得每個人都應該有自己的貢獻。
這裡是人們為開源貢獻的原因的彙編:https://github.com/nickdesaulniers/What-Open-Source-Means-To-Me