標籤:

新手該如何使用GitHub?

我是一個編程新手,剛剛接觸GitHub,目前僅僅是把它作為自己的代碼倉庫。但我知道GitHub的魅力在於共同完成項目,但我現在對GitHub有以下幾個困惑:

1.比如我看到一個有趣的項目,那麼我該如何為這個項目做貢獻呢?我是指,這個項目本身已經完整了,核心的一些架構我暫時是力不從心的,那我還能為這個項目做什麼呢?

2.我看到很多剛學編程的人說用GitHub來學習編程,但我覺得大多數的項目即便你fork下來也是看不懂的吧?那麼初學者如何找到適合自己的項目來學習呢?

謝謝。


平常主要做R語言項目的開發,在github託管自己的開源項目,做了幾個自己的開源小項目,但2年前我也是新手...

1. 積極地report issue或者參與討論,發表經過思考的見解

2. 不必過於崇拜所謂「大牛」,都是普通人而已,抱著學習的態度,但也不要迷信權威

3. 不一定覺得自己有更好的實現方法或者什麼才去貢獻代碼,發現任何拼錯、minor issue也可以幫忙改正然後提交pull request

4. GitHub正所謂social coding,有一定基礎後可以嘗試著建立自己的開源項目,然後慢慢維護,基本可以了解清楚一般的基於git的管理流程

5. 在開發過程中,有幾個里程碑:第一次有人star你的項目,第一次有人fork你的項目,第一次有人給你的項目提出issue,第一次有人給你send pull request,這些都是很有意思的過程,可以體會到社區的無窮魅力。


1, 每個項目作者一般都會在README文檔中有一項 `contribute`,這裡面會說明你應該怎樣貢獻代碼或者其它東西. 另外,為一個項目做貢獻不一定要直接貢獻代碼才算,可以檢查項目的文檔錯誤,或者在對整個項目有了解的情況下,給項目作者提 `feature request`

2, 用github來學習編程,這個我確實還沒有發現應該怎麼好好利用,我覺得最主要的原因就是這裡面所有的代碼都是可以直接獲取到的,而且帶有代碼作者的提交記錄,如果感興趣的話,你可以一個commit一個commit的查看作者寫成整個項目的過程,這個應該會對初學者有很大的幫助吧,可能會對為什麼整個項目是現在這個架構或形式有一定的了解.

我用github的時間也不是很長,大約一年. 對github的認識就是, 它就是一個大寶庫,想要的任何東西幾乎都可以在github上找到.

我使用github是從關注一些人開始的.通過這些人的 star fork follow 活動,我就可以知道一些我沒有follow過的人,然後我再去看這些我沒有看過的人的項目,然後我又發現了一些有趣的項目,我覺得這個作者 對我很有幫助,所以我follow一下,不斷的通過這種 follow項目作者的行為,我知道了非常多的人.同時也找到了非常多有意思的項目.

每天看這些人的star fork follow活動,你真的可以知道現在的技術趨勢是朝向什麼方向發展的,或者這一段時間什麼項目最火.

如果對某個項目有興趣的話,可以直接clone下來,看一看代碼的整體是什麼樣的,不一定完全看懂,但是看多了,就知道大牛們大體都是怎麼寫代碼的.對自己的好處不言而諭.

我使用github和別人協作的機會沒有多少,基本都是我自己在用,存放自己的一些項目.

再一個作用就是存放自己的配置文件了,到重裝系統或者到其它的機器上,直接clone一下,自己的配置就全部回來了.

還有一個作用就是託管博客了, github的 jekyll 很好用,也很省心.


關於如何使用GitHub,自己整理了一個使用教程文章以及相關工具的列表,可以看這裡,GitHub - AntBranch/awesome-github: 收集這個列表,只是為了更好地使用親愛的GitHub,歡迎提交pr和issue。


不要只fork不star啊

這和知乎只收藏不點贊有什麼區別


1. Fork一份你想要做貢獻的代碼,修改後 Pull Request,等待主人審核通過。

2. 用 Github寫一個技術博客吧,這個沒有什麼難的,用git寫博客很有 Geek范,不知不覺中,你就能熟練掌握git了。


這裡我只是簡單的介紹了一下github的基本操作,目的是為了幫助那些剛剛入門的初學者,想把自己的項目託管到github上卻不知道怎麼操作做了一個引導。

【收藏】圖解GitHub基本操作

https://zhuanlan.zhihu.com/p/24461753?refer=dreawer


參考另一個問題 怎樣使用 GitHub?


推薦閱讀:

github issue是做什麼的?
把公司代碼上傳到了github上,被leader發現了怎麼辦?
GitHub 上有哪些適合新手跟進的優質項目?
如何在 Github 上找到適合自己水平的開源項目進行學習?
不會用Github是怎麼樣的體驗?

TAG:GitHub |