如何有效地使用github?
一般github上的開源項目都基本看不懂的!!那麼如何有效的利用github呢??傳了一些自己敲的C Primer Plus 的源碼上去,不知是否有意義??
除了一些常用功能,我們看看大家都是怎麼樣在使用 Github 的。
博客
- 有人直接在上面寫博客,例如: dwqs/blog
- 有人利用 Github 來搭建獨立博客,例如 tmallfe/tmallfe.github.io
- 獨立博客搭建教程請見 —— 如何搭建一個獨立博客——簡明Github Pages與Hexo教程
書籍
- 有人用來寫書,eastlakeside/interpy-zh ,《Python進階》(Intermediate Python 中文版) 簡介 · Python進階
- 這裡還有個例子 wangjiegulu/kotlin-for-android-developers-zh
朋友圈
- 有人把他當成朋友圈 —— 如何高效利用 GitHub 提升自己
微博
有人把他當微博,follow 大 V ,以下這幾個大 V 可以follow 下,這樣就可以在首頁 timeline 里看到他們的最新動態:
- Linux 的創始人 —— torvalds (Linus Torvalds)
- Ruby on Rails 的創始人 —— dhh (David Heinemeier Hansson)
- Android之神 —— JakeWharton (Jake Wharton)
- Google Chrome 開發者 —— paulirish (Paul Irish) ,addyosmani (Addy Osmani)
資訊
- 了解最新的編程項目 —— Explore GitHub, Github Trending
- 定位最受歡迎的 PHP 項目 —— Github 排行
個人簡歷
- gwuhaolin/resume
- Github 賬號數據分析生成簡歷
任務管理
- [GitHub Projects]在GitHub上使用看板功能 | 全端開發人員天梯
團隊協作
- 團隊合作流程
閱讀代碼
- 極力推薦 —— buunguyen/octotree
-EOF-
Follow 你感興趣的領域厲害的人物,持續關注他們在 GitHub 上的活動,選擇其中優秀的資源學習之。
tip: 學習要深入,不要止步於泛泛地了解。
將你自己的玩具項目源碼大膽發上去,不斷用你學習到的優秀的模式和架構對它們進行重構,形成你個人比較固定的編程規範。
tip: 擁有自己長期維護的項目,多重構。
學習並逐漸掌握 GitHub 的工作流,使用版本控制和 Issues、Milestones 等記錄和掌控自己業餘項目的進度。
善用搜索,善用 awesome 系項目。
勤做筆記,使用倉庫/gh-pages/Issues 寫博客都是不錯的方式。
參與到別人的項目中去,使用別人項目的過程中遇到問題先去 Issues 和 Pull Requests 里尋找解決方案,找不到的嘗試自己去修復提 Pull Request,能力所限修復不了的提 Issues 尋求幫助。
tip: 提 Issues 和 Pull Request 先閱讀一下項目里的 CONTRIBUTING,遵循項目的規範。
如果可以,發動你身邊的朋友們跟你一起用起來,有適當的好友互動會更有趣。
tip: 不要把它玩成了純社交,不停刷 timeline 那就不如玩朋友圈了。@mzlogin,歡迎互動。
如果你知道過去包括現在的很多項目組都在使用郵件組+diff+patch協作開發軟體,你就能夠非常容易的理解GitHub在做什麼樣的事情。
就像很多人只用過Virtual Terminal(比如超級終端和PuTTY,卻從未見過真正的Terminal一樣(比如VT100)。在題主出生的時候恐怕真實的Terminal已經快進博物館了。
從這個角度看Github更像是一個UI,國內的開發者只有很少一部分人能提交一個質量非常高的patch,也就是git里的commit。所以Github本質上降低了對開源軟體貢獻的難度和門檻,讓更多的人可以參與進來,使其變成某種形式的社交。
或許linux文檔里的如何提交一個補丁就是個不錯的解釋 SubmittingPatches
其實用好git才是最重要的,熟練掌握一種版本控制系統可以極大的提高你的效率。版本控制系統可以幫助你在不斷的迭代開發中快速的定位錯誤,因為所有東西都是有跡可循的。而像分散式版本控制系統則可以讓你在本地自由的開發,而又能和他人很好的合併和交流代碼。對於我們之中大部分人來說,GitHub 是用來找代碼的,所以有效地使用方式主要就是如何找到對自己有用的代碼,主要有兩種方式:
- 使用搜索,特別是高級搜索,可以按語言、流行程度等排序
- 追熱板 https://github.com/trending
我們不生產代碼,我們只是代碼的搬運工 斜眼笑.jpg
請看廖老師的Git教程
寫開源項目挺有意義的,我寫了半年開源項目,感覺已經有了一個台階式的提升。
1、鍛煉表達能力,得把自己的項目說清楚了,並描述核心特點,就跟做產品一樣,不然再牛逼也沒用。
2、自動測試啊,自動打包,代碼質量分析啊,這些都用上了,原來這些都沒使用過,確實很好用。
3、設計開源項目思想,這個也會逐漸提高,我也是從大而全,逐漸轉變成小而精,組件化,樹形結構化。
4、最後就是每天被點星,推到當日,當周世界排行榜時很開心。
5、最後就是pull request了,如果有人給你pull request,就說明確實有人使用,並且找到一些bug了。這是最好了,雖然我的項目還有沒有pull request。
然後就是github流行項目學習,建議找一些代碼量不大,並且很流行的項目學習源碼,畢竟咱們也得考慮時間成本,10年學完了虛幻4,請問有何用?我最近就想看看阿里的hiloteam/Hilo,看看有沒有什麼可以改的。
推薦我的一片開源項目
dianbaer (電霸兒)
為什麼沒人推薦udacity裡面的課程「git入門操作與實踐」呢?免費的,大概是這個名字
花一個下午就掌握git全部技能了,畢竟大部分對文檔的實際操作能力不如實戰來得直接。
對了,udacity是不是可以考慮下給我廣告費。
Watching別人的代碼、吸收後提交自己的修改,讓大神幫你指正或merge你的push...
你要先學會git push
推薦閱讀:
※Github Pages/GitCafe pages 可以搭建博客,並且可以綁定域名,是基於什麼原理的呢?
※有哪些github pages開源項目可以用來建博客?
※使用 GitHub Pages 來做博客是否道德?
TAG:Git | GitHub | GithubPages |