自打畢業(yè)之后,可以說每天打開 Github 或Email 看有沒有 watch 項目的消息或者自己項目的 issue润文,然后在Explore 看看社區(qū)內(nèi)項目的走勢姐呐,緊接著開始寫代碼搬磚的工作,偶爾也會關(guān)注下 Github 的 Blog, 看看有沒有大新聞典蝌,亦或掃一眼 Github 的 Tip曙砂,閑的蛋疼的時候也會一時興起去搜索下有意思的項目,看到有趣的人就會去他的博客看看骏掀,晚上要睡覺之前會考慮是不是要寫篇博客鸠澈,然后 push上去顯得自己的 Github 綠一點......久而久之,也學(xué)到了一些 Github 的使用技巧截驮,下邊毫無保留的分享給大家笑陈。
兩分鐘把Github項目變成前端網(wǎng)站
此處默認你有 Github 賬號、安裝了 Git 并且熟悉基本的 Git 操作葵袭,只是需要尋求部署 Github Pages 方面的知識涵妥。GitHub Pages 大家可能都知道,常用的做法干毅,是建立一個 gh-pages 的分支退子,通過 Setting 里的設(shè)置的GitHub Pages 模塊可以自動創(chuàng)建該項目的網(wǎng)站诞丽。
這里經(jīng)常遇到的痛點是,master 遇到變更帆锋,經(jīng)常需要去 sync 到 gh-pages,特別是純 web 前端項目禽额,這樣的痛點是非常地痛锯厢。
Github官方可能嗅覺到了該痛點,出了個 master 當作網(wǎng)站是選項绵疲,太有用了哲鸳。
下邊具體來看下操作步驟:
第一步 進入 Settings 設(shè)置 Github Page 模塊
第二步 選擇對應(yīng)分支
選擇完 master branch 之后,master 自動變成了網(wǎng)站盔憨。master 所有的提交會自動更新到網(wǎng)站徙菠。
第三步 選擇對應(yīng)主題
第四步 等待部署成功
如上圖所示,則代表部署成功郁岩!此時便可以使用 username.github.io/倉庫名稱 進行訪問了婿奔,我在此處的訪問地址是:https://bylant.github.io/DWR-Spring/
精準分享關(guān)鍵代碼
比如你有一個文件里的某一行代碼寫得非常酷炫或者關(guān)鍵问慎,想分享一下萍摊。可以在 URL 后面加上 #L 行號
比如如叼,點擊下面這個 URL
https://github.com/Bylant/DWR-Spring/blob/master/src/main/java/top/zhoudl/dwr/MessagePusher.java#L47
此時便會直接跳轉(zhuǎn)到這行代碼的位置冰木,高亮顯示
有的朋友此處可能會想,分享一行代碼有什么用,我的關(guān)鍵代碼那可是以段來論的踊沸,看不起你這一行歇终,不急,同樣有辦法逼龟,我們在 URL 后邊加上 L開始行號-L結(jié)束行號
如以下 URL :
https://github.com/Bylant/DWR-Spring/blob/master/src/main/java/top/zhoudl/dwr/MessagePusher.java#L47-L70
其實我們也不用去死記硬背這些東西评凝,因為 Github 有方式幫我們自動生成這些鏈接
-
分享單行代碼
直接點擊代碼區(qū)的行號,URL 會隨之跳轉(zhuǎn)腺律,大家可以觀察下圖的 URL 變化
-
分享多行代碼
多行代碼和單行代碼分享的操作步驟基本一致奕短,只不過區(qū)別在于在選擇完代碼塊開始行之后,點擊結(jié)束行的同時需要按住 Shift 鍵匀钧,大家觀察以下動圖 URL 的變化
此時我們可以直接復(fù)制拿到的 URL 去別的地方分享了翎碑。
通過提交的 message 自動關(guān)閉 issues
比如有人提交了個issues https://github.com/AlloyTeam/AlloyTouch/issues/6
然后你去主干上改代碼,改完之后提交填msg的時候榴捡,填入:
fix https://github.com/Bylant/DWR-Spring/issues/1
這個 issues 會自動被關(guān)閉杈女。當然不僅僅是 fix 這個關(guān)鍵字,下面這些關(guān)鍵字也可以:
close
closes
closed
fixes
fixed
resolve
resolves
resolved
gitattributes設(shè)置項目語言
如上圖所示吊圾,Github 會根據(jù)相關(guān)文件代碼的數(shù)量來自動識別你這個項目是 HTML項目达椰、avascript 項目或者 Java 項目。但是這就會帶來了一個問題项乒,比如 DWR-Spring 最開始被識別成 JavaScript 項目啰劲。因為 項目剛開始可能前端代碼很多。
怎么辦呢檀何?gitattributes 可以來幫助你搞定這個問題蝇裤。我們在項目的根目錄下添加如下 .gitattributes 文件便可
文件內(nèi)容如下:
*.js linguist-language=Java
主要意思是把所有 js 文件后綴的代碼識別成 Java 文件。
查看自己項目的訪問數(shù)據(jù)
在自己的項目下频鉴,點擊 Graphs栓辜,然后再點擊 Traffic 如下所示:
更多統(tǒng)計留給你自己去探索哦
trending 排行榜
經(jīng)常玩微博的人都知道,每天都有個熱搜榜垛孔,知乎也有個知乎熱榜藕甩,當然,Github 也有某類型語言的每日排行榜周荐。比如 Java 每日排行榜:
https://github.com/trending/javascript?since=daily
Github 推薦
https://github.com/explore
快速搜索項目文件功能
有時候我們要快速檢索項目中的某個文件狭莱,這個時候如果一個一個去找很浪費時間。所以 Github 也為我們提供了一個搜索技巧概作。
- 打開 Github 底下任意倉庫腋妙,然后打開倉庫里面的代碼
- 接著在項目頁面,按住鍵盤 T 鍵讯榕,會在項目名旁邊出現(xiàn)可以可以搜索的地方
- 輸入想要查找的關(guān)鍵詞骤素,頁面會根據(jù)輸入的關(guān)鍵詞進行快速搜索
其他搜索技巧
基本規(guī)則
默認搜索是從master分支搜索代碼匙睹,搜索語句不能有特殊字符如. , : ; / \ ` ’ ” = * ! ? # $ & + ^ | ~ < > ( ) { } [ ].
指定搜索方式
Awesome + 關(guān)鍵字
Awesome 似乎已經(jīng)成為不少 GitHub 項目喜愛的命名之一,他可以找到優(yōu)秀的工具列表谆甜。比如前面提及要找到優(yōu)秀的 Windows 軟件垃僚,可以嘗試搜索 Awesome windows
,得到這樣的搜索結(jié)果:
排名前列的結(jié)果出現(xiàn)了 Windows/Awesome 項目规辱,這里集合了 Windows 上優(yōu)質(zhì)和精選的最佳應(yīng)用程序及工具列表。
此處小提幾點:我習(xí)慣的用法是靈活運用下面幾個搜索條件:stars:
栽燕、language:
罕袋、forks:
,其實就是設(shè)置項目收藏碍岔、開發(fā)語言浴讯、派生的搜索條件,比如輸入 stars:>=1000 language:java
蔼啦,得到的結(jié)果就是收藏大于和等于 500 的 Java 項目榆纽。如下結(jié)果出來的都是 ES、SpringBoot 等經(jīng)典項目
除了以上所述之外捏肢,GitHub 提供高級搜索功能訪問地址如下:
https://github.com/search/advanced
具體使用方法參見 https://help.github.com/en/articles/searching-on-github 此處不再贅述了奈籽。
其他技巧
issue 中輸入冒號 : 添加表情
表情對應(yīng)的代碼參見網(wǎng)站
https://www.webfx.com/tools/emoji-cheat-sheet/
可以看到我們經(jīng)常用的所有表情都會在這個地方。
任意界面鸵赫,shift + 衣屏?顯示快捷鍵
issue 中選中文字,R 鍵快速引用
還是以上邊新建的 issue 為例辩棒,我們看到選中 文檔太少 四個字之后狼忱,然后按住 R 鍵,就會自動引用 文檔太少 這四個字
最后
好了一睁,我就會這么多钻弄,也是我經(jīng)常使用的技巧≌哂酰可以說 Github 的資源對于廣大開發(fā)者來說真是個寶藏窘俺,很多時候我都在思考一個問題,我們每天遇到各種各樣的問題砚偶,然后我們需要不斷 Google批销、百度,達到我們解決問題的目的染坯。但是在這個過程中均芽,我們總是能夠見到,對于同一個問題单鹿,總是有大量錯誤掀宋、copy 的博客、文庫乃至"吊炸天"的百度知道,一次又一次減慢了我們解決問題的進度劲妙。更加糟糕的是湃鹊,這種 copy 是保量不保質(zhì)的,所以我們總是希望镣奋,每當我們 Google 或者百度的時候币呵,都能夠最快解決我們需要解決的問題。然而侨颈,這貌似是不切實際的余赢,在人人都有權(quán)利發(fā)表文章的今天,要想禁止這種無意義的抄襲幾乎是癡人說夢哈垢。清晰意識到這一點之后妻柒,我覺得更加有效的方式是每一個發(fā)表博客或者活躍于問答網(wǎng)站的人都應(yīng)該把自己的博客或者解答做到精煉和準確,在某種意義上來說耘分,這是一種義務(wù)和責(zé)任举塔。
也歡迎補充實用的技巧~~我會持續(xù)更新上去…