在我看來,Github 的牛逼之處,你在狹小的空間裡寫的代碼,全世界的碼農都能看到,而且你也能跟仰慕已久的大神聊上幾句,想想都感覺到很瘋狂。因此,本文我將以漫畫的形式來探祕 Github。
在這裡,我先引用 Github CEO 的 Wanstrath 的一段話。
在我理想的世界裡,協同工作將比獨立工作簡單的多。在那個世界中,軟件開發會是一個充滿欣喜的過程,我認為 GitHub 正在推進這一願景的實現。
與其它版本控制服務器不同的是,Github 加入社交化、民主化的元素。因此,每個人採用派生/合併請求方式進行協同工作,並向開源項目貢獻自己的代碼,以時間流的形式展現自己的開發進度。還可以關注自己感興趣的項目和大神,瞭解最新的開發動態,也可以進行討論。
下圖展示了兩種基本的工作模式。
如果你在 Github 界面,按下 Shift+/ 的快捷鍵,將會出現如下圖的彈出框。
1、在Github上編輯代碼
如果你在Github網站上查看任意一個文件時,就會出現一個小鉛筆圖標,你點擊它,便可以編輯該文件。等你編輯完成後,在頁面上點擊Propose File Change,GitHub 就會為你 fork 這個倉庫,創建一個 pull request。為你省去了在本地 fork,pull,修改,push 以及創建一個 PR的流程,是不是很棒。
2、高效的分支比較
如果你想以最快的方式查看所處分支與master的差異,那麼可以在 URL 中的倉庫名字後面輸入 //compare/branch-name。
有的讀者也許想看任意兩個分支之間的差異,那麼可以在 URL 輸入 /compare/integration-branch...my-branch。
3、鏈接到代碼
如果你想鏈接到代碼具體的某一行,可以試一下這個操作,點擊該代碼旁邊的行數。
Github與谷歌一樣,也有自己的搜索語法,這裡為大家整理了一些常見的語法,想了解更詳細的,可以去查看官方文檔。
- 按編程語言搜索, xxx language:java
- 按文件或路徑搜索,xxx in:readme
- 按文件大小搜索,xxx size:>100
- 按地域搜索, xxx location:chengdu
- 按是否fork過搜索,xxx fork:true
- 按照擁有者或者組織搜索,xxx user:yrzx404 或者 xxx org:github
- 按stars數量搜索,xxx stars:>1000
- 按主題搜索,xxx topic:java
如果你記不住這些語法,Github 同樣為我們提供了高級搜索功能,見下圖。
最後,如果你始終找不到一個心滿意足的項目,那麼可以嘗試著用 Awesome+關鍵字 進行搜索,可能會有意想不到的結果。
Octotree:能在頁面左側提供一個面板,以樹狀圖的形式呈現你正在查看的倉庫。
Git History:這是我最近發現的一款插件,他能高效查看文件歷史更改記錄,超炫酷。
如基於你的興趣而推薦的一些項目。
如基於每天/周/月最流行的一些項目。
還有很多,如主題、應用、事件等等。