1. 程式人生 > >和逛微博、刷朋友圈一樣玩轉 GitHub

和逛微博、刷朋友圈一樣玩轉 GitHub

步驟 resolved eight 但是 文件內容 tools lang original sync

自打畢業之後,可以說每天打開 Github 或Email 看有沒有 watch 項目的消息或者自己項目的 issue,然後在Explore 看看社區內項目的走勢,緊接著開始寫代碼搬磚的工作,偶爾也會關註下 Github 的 Blog, 看看有沒有大新聞,亦或掃一眼 Github 的 Tip,閑的蛋疼的時候也會一時興起去搜索下有意思的項目,看到有趣的人就會去他的博客看看,晚上要睡覺之前會考慮是不是要寫篇博客,然後 push上去顯得自己的 Github 綠一點......久而久之,也學到了一些 Github 的使用技巧,下邊毫無保留的分享給大家。

兩分鐘把Github項目變成前端網站

此處默認你有 Github 賬號、安裝了 Git 並且熟悉基本的 Git 操作,只是需要尋求部署 Github Pages 方面的知識。GitHub Pages 大家可能都知道,常用的做法,是建立一個 gh-pages 的分支,通過 Setting 裏的設置的GitHub Pages 模塊可以自動創建該項目的網站。

這裏經常遇到的痛點是,master 遇到變更,經常需要去 sync 到 gh-pages,特別是純 web 前端項目,這樣的痛點是非常地痛。

Github官方可能嗅覺到了該痛點,出了個 master 當作網站是選項,太有用了。

下邊具體來看下操作步驟:

第一步 進入 Settings 設置 Github Page 模塊

技術分享圖片 image

第二步 選擇對應分支

選擇完 master branch 之後,master 自動變成了網站。master 所有的提交會自動更新到網站。

技術分享圖片 image

第三步 選擇對應主題

技術分享圖片 image 技術分享圖片
image

第四步 等待部署成功

技術分享圖片 image

如上圖所示,則代表部署成功!此時便可以使用 username.github.io/倉庫名稱 進行訪問了,我在此處的訪問地址是:https://bylant.github.io/DWR-Spring/

技術分享圖片 image

精準分享關鍵代碼

比如你有一個文件裏的某一行代碼寫得非常酷炫或者關鍵,想分享一下。可以在 URL 後面加上 #L 行號

比如,點擊下面這個 URL

https://github.com/Bylant/DWR-Spring/blob/master/src/main/java/top/zhoudl/dwr/MessagePusher.java#L47

此時便會直接跳轉到這行代碼的位置,高亮顯示

技術分享圖片 image

有的朋友此處可能會想,分享一行代碼有什麽用,我的關鍵代碼那可是以段來論的,看不起你這一行,不急,同樣有辦法,我們在 URL 後邊加上 L開始行號-L結束行號

如以下 URL :

https://github.com/Bylant/DWR-Spring/blob/master/src/main/java/top/zhoudl/dwr/MessagePusher.java#L47-L70
技術分享圖片 image

其實我們也不用去死記硬背這些東西,因為 Github 有方式幫我們自動生成這些鏈接

  • 分享單行代碼

    直接點擊代碼區的行號,URL 會隨之跳轉,大家可以觀察下圖的 URL 變化

    技術分享圖片 image
  • 分享多行代碼

    多行代碼和單行代碼分享的操作步驟基本一致,只不過區別在於在選擇完代碼塊開始行之後,點擊結束行的同時需要按住 Shift 鍵,大家觀察以下動圖 URL 的變化

    技術分享圖片 image

此時我們可以直接復制拿到的 URL 去別的地方分享了。

通過提交的 message 自動關閉 issues

比如有人提交了個issues https://github.com/AlloyTeam/AlloyTouch/issues/6
然後你去主幹上改代碼,改完之後提交填msg的時候,填入:

fix  https://github.com/Bylant/DWR-Spring/issues/1

這個 issues 會自動被關閉。當然不僅僅是 fix 這個關鍵字,下面這些關鍵字也可以:

  • close

  • closes

  • closed

  • fixes

  • fixed

  • resolve

  • resolves

  • resolved

gitattributes設置項目語言

技術分享圖片 image

如上圖所示,Github 會根據相關文件代碼的數量來自動識別你這個項目是 HTML項目、avascript 項目或者 Java 項目。但是這就會帶來了一個問題,比如 DWR-Spring 最開始被識別成 JavaScript 項目。因為 項目剛開始可能前端代碼很多。

怎麽辦呢?gitattributes 可以來幫助你搞定這個問題。我們在項目的根目錄下添加如下 .gitattributes 文件便可

文件內容如下:

*.js linguist-language=Java

主要意思是把所有 js 文件後綴的代碼識別成 Java 文件。

查看自己項目的訪問數據

在自己的項目下,點擊 Graphs,然後再點擊 Traffic 如下所示:

技術分享圖片 image

更多統計留給你自己去探索哦

trending 排行榜

經常玩微博的人都知道,每天都有個熱搜榜,知乎也有個知乎熱榜,當然,Github 也有某類型語言的每日排行榜。比如 Java 每日排行榜:

https://github.com/trending/javascript?since=daily
技術分享圖片 image

Github 推薦

https://github.com/explore
技術分享圖片 image

快速搜索項目文件功能

有時候我們要快速檢索項目中的某個文件,這個時候如果一個一個去找很浪費時間。所以 Github 也為我們提供了一個搜索技巧。

  • 打開 Github 底下任意倉庫,然後打開倉庫裏面的代碼
  • 接著在項目頁面,按住鍵盤 T 鍵,會在項目名旁邊出現可以可以搜索的地方
  • 輸入想要查找的關鍵詞,頁面會根據輸入的關鍵詞進行快速搜索
技術分享圖片 image

其他搜索技巧

基本規則

默認搜索是從master分支搜索代碼,搜索語句不能有特殊字符如. , : ; / \ ` ’ ” = * ! ? # $ & + ^ | ~ < > ( ) { } [ ].

指定搜索方式
技術分享圖片 image
Awesome + 關鍵字

Awesome 似乎已經成為不少 GitHub 項目喜愛的命名之一,他可以找到優秀的工具列表。比如前面提及要找到優秀的 Windows 軟件,可以嘗試搜索 Awesome windows,得到這樣的搜索結果:

技術分享圖片 image

排名前列的結果出現了 Windows/Awesome 項目,這裏集合了 Windows 上優質和精選的最佳應用程序及工具列表。

此處小提幾點:我習慣的用法是靈活運用下面幾個搜索條件:stars:language:forks:,其實就是設置項目收藏、開發語言、派生的搜索條件,比如輸入 stars:>=1000 language:java,得到的結果就是收藏大於和等於 500 的 Java 項目。如下結果出來的都是 ES、SpringBoot 等經典項目

技術分享圖片 image

除了以上所述之外,GitHub 提供高級搜索功能訪問地址如下:

https://github.com/search/advanced
技術分享圖片 image

具體使用方法參見 https://help.github.com/en/articles/searching-on-github 此處不再贅述了。

其他技巧

issue 中輸入冒號 : 添加表情
技術分享圖片 image

表情對應的代碼參見網站

https://www.webfx.com/tools/emoji-cheat-sheet/
技術分享圖片 image

可以看到我們經常用的所有表情都會在這個地方。

任意界面,shift + ?顯示快捷鍵
技術分享圖片 image
issue 中選中文字,R 鍵快速引用

還是以上邊新建的 issue 為例,我們看到選中 文檔太少 四個字之後,然後按住 R 鍵,就會自動引用 文檔太少 這四個字

技術分享圖片 image

最後

好了,我就會這麽多,也是我經常使用的技巧。可以說 Github 的資源對於廣大開發者來說真是個寶藏,很多時候我都在思考一個問題,我們每天遇到各種各樣的問題,然後我們需要不斷 Google、百度,達到我們解決問題的目的。但是在這個過程中,我們總是能夠見到,對於同一個問題,總是有大量錯誤、copy 的博客、文庫乃至"吊炸天"的百度知道,一次又一次減慢了我們解決問題的進度。更加糟糕的是,這種 copy 是保量不保質的,所以我們總是希望,每當我們 Google 或者百度的時候,都能夠最快解決我們需要解決的問題。然而,這貌似是不切實際的,在人人都有權利發表文章的今天,要想禁止這種無意義的抄襲幾乎是癡人說夢。清晰意識到這一點之後,我覺得更加有效的方式是每一個發表博客或者活躍於問答網站的人都應該把自己的博客或者解答做到精煉和準確,在某種意義上來說,這是一種義務和責任。

技術分享圖片 image

也歡迎補充實用的技巧~~我會持續更新上去…

和逛微博、刷朋友圈一樣玩轉 GitHub