【譯】原來 GitHub 還有這些騷操做?

做者:Lee Reilly
原文:github.blog/2020-04-09-…
翻譯:零和幺git

我做爲一名工程師、開發者以及市場管理者,使用 GitHub 已經超過 10 年的時間了。在這期間,我掌握了一些使用 GitHub 的小技巧:如管理個人通知消息,快速定位內容,建立一個 pull request 以及一些我使用過的第三方插件。我會分享一些我最喜歡的東西,也但願我分享的這些東西能對你有用。github

1. 文件模糊搜索

當我發現文件模糊搜索這個功能的時候,我已經使用 GitHub 超過一年了。當進入任何倉庫後,只須要按下鍵盤上的 t 鍵,就能夠進入文件模糊搜索模式了。輸入任何你想要找到文件名,就能夠找到對應的文件。chrome

2. 更輕鬆的瀏覽文件與目錄

提及搜索文件,有一個很是不錯的瀏覽器插件叫 Octotree 。它像一個傳統的樹狀導航欄,幫助你瀏覽目錄、打開文件。api

好消息:它能夠和 GitHub Enterprise 一塊兒工做。瀏覽器

有趣的事:幾年前,我與該插件的做者溝通了關於項目如何支持 GitHub Enterprise。若是你想構建一個服務於 GitHub 的瀏覽器插件,也想確認該插件是否能夠工做於 GitHub Enterprise,你能夠經過加入 GitHub Developer Program得到一個開發者證書bash

3. 通知提醒

在瀏覽器插件這個主題上,來自 @sindresorhus 的項目 notifier-for-github,能夠確切的告訴你有多少個 GitHub 通知還未被處理。它有一個不起眼的圖標顯示在一個工具欄中。固然,若是你喜歡,你也能夠設置爲桌面通知。工具

一樣,它也能夠工做於 GitHub Enterprise。你所須要作的惟一一件事就是改變 API 指向,讓它匹配你我的的 URL。(如,api.github.cyberdynesystem.com測試

4. 讓你的 @提醒 更加明顯

Mention Highlighter 是我朋友 @benbalter 的做品。它能夠高亮全部引用我名字的地方,即便在我快速瀏覽評論的時候,我也能夠看到任何提醒個人地方。ui

5. 代碼片斷連接

這不是一個祕密,但很顯然不是全部人都知道。當你瀏覽一個文件時,你能夠經過點擊文件中每一行代碼前面的數字,建立代碼中特殊行的連接。默認狀況下,行號(如:#L1337)會被追加到 URL 中,它會直接跳轉到你標記那一行中。chrome-extension

但若是文件被修改、刪除或是重命名,連接將不會再管用。你能夠經過鍵盤上的 y 或者點擊 Copy permalink 來生成一個標準連接,這樣它就會一直工做了。

你也能夠經過按住 shift 鍵 ,選擇一個行號的範圍來生成連接。

小驚喜:若是你在 GiuHub 的評論中添加了一個代碼片斷連接,一個漂亮的代碼界面就會出現。

6. 必須知道的 Markdown 格式化技巧

GitHub Flavored Markdown 是一個對於基本文本以及基礎表格來講很好的工具,但有時候你又但願能夠有點創造性。

鍵盤標籤

你能夠用 <kbd> 標籤讓文本變成一個相似 button 按鈕的樣子,讓它看起來與普通的文本略有不一樣。它能夠用來描述相似鍵盤快捷鍵或者遊戲控制按鍵之類的功能。

Press <kbd>W</kbd> to go up, <kbd>A</kbd> to go down. If you can find the <kbd>ESC</kbd>, pressing that will fire missiles.
複製代碼

可視化的十六進制代碼

在反引號(``)中使用十六進制(hex)的顏色,我想它是真正的優秀(hexcellent)!

GitHub contribution graph colors: `#C6E48B` `#7AC96F` `#249A3C` `#196127` 
複製代碼

可視化差別

你可使用反引號和 diff 來獲取一個可視化的差別表現形式。它會高亮一行爲紅色或者綠色。

```diff
    10 PRINT "BASIC IS COOL"
    - 20 GOTO 11
    + 20 GOTO 10
	```
複製代碼

事實上,若是你在開始的三個反引號後面加上語言,代碼會根據語法高亮。

details 魔法

添加必定長度的錯誤日誌或者冗長的程序輸出,到一個 issue 中,能夠有效的解決一個 bug ,可是若是它將佔滿一整頁的位置,不妨考慮使用 <details><summary> 標籤。

Having some problems firing up the laser.
    
<details>
<summary>Click here to see terminal history + debug info</summary>
<pre>
488 cd /opt/LLL/controller/laser/
489 vi LLLSDLaserControl.c
490 make
491 make install
492 ./sanity_check
493 ./configure -o test.cfg
494 vi test.cfg
495 vi ~/last_will_and_testament.txt
496 cat /proc/meminfo
497 ps -a -x -u
498 kill -9 2207
499 kill 2208
500 ps -a -x -u
501 touch /opt/LLL/run/ok
502 LLLSDLaserControl -ok1
複製代碼

居中文本和圖片

已是 2020 年了,但我依然努力在 Web 網頁中居中任何東西。這段代碼讓我十分驚喜:<div align="center"> [ Your content here ] </div>。這樣能夠完美的讓你的 Logo 在你倉庫中的 README 中實現居中:

<div align="center">
<img src="https://octodex.github.com/images/dunetocat.png" width="200">
<p>This is some centered text.</p>
</div>
複製代碼

更小的文本

將本文放在 <sup> 或者 <sub> 標籤中,可讓文本看起來更小一些。好比在圖片的下方加入"Fig1: description",或者在表格中讓文本更小一些,這樣就不會出現橫向滾動條了。

<div align="center">
<img src="https://octodex.github.com/images/megacat-2.png" width="200"><br>
<sup><strong>Fig 1:</strong> Megatocat into action</sup>
</div>
View more octocats on the [Octodex](https://octodex.github.com/)!
複製代碼

7. URL hacking

一個我帶有負罪感的快樂就是在 GitHub 尋找帶有標籤 #game 的項目 ,而後測試和修改它們。這在咖啡時間或者無聊的星期天下午,是一個很好的活動。

咱們在頁面暴露的方式(好比搜索框)中篩選內容時,通常都經過一個特定的主題和語言(好比,查找全部用 JavaScript 寫的,分類爲 #game 的倉庫)。但若是你想搜索有關聯的兩個主題結合後的結果,惟一的方法就是經過 URL hacking 的手段。

簡單的追加一個 ?q=[TOPIC] 到一個主題的 URL 中,就能夠獲取兩個主題結合後的結果了。舉個例子:

  • 全部被標記爲 #covid-19visualization 的倉庫:

github.com/topics/covi…

  • 全部被標記爲 #chrome-extension#github 的倉庫:

github.com/topics/chro…

  • 全部標記爲 #unity#shader 的倉庫:

github.com/topics/unit…

  • 全部被標記爲 #minecraft#mod 的倉庫:

github.com/topics/mine…

你知道麼: 爲你的倉庫申請主題能夠幫助人們更好的發現它們,甚至爲你的倉庫作貢獻?只要你在項目的主題區域,點一下按鈕,而且輸入幾個關鍵字就能夠了。

8. 黑暗模式

unofficial GitHub Dark Theme 是一個能夠工做在 Chrome,Firefox,Opera 和 Safari 上的瀏覽器插件,可讓 GitHub 呈現黑暗模式。

9. 一個數字遊戲

有時候它能夠頗有效的幫你分析出倉庫的元數據和指標。好比說你可使用命令行 git shortlog -sn 生成一個做者列表,上面展現出他們提交的次數。

$ git shortlog -sn
    
3164  Stanley Goldman
1549  Andreia Gaita
195  Don Okuda
191  Emil "AngryAnt" Johansen
15  Meaghan Lewis
9  Lee Reilly
8  Sarah Guthals
7  Sam Christiansen
7  Mauro Palumbo
6  Marcus Christensen
複製代碼

固然你也可使用 git shortlog -sn -no-merges ,去除 merge 的 commit 信息。

對於一個公共倉庫來講,GitHub High Scores 會給你一個相似小霸王時代的遊戲界面,展現出你的倉庫的貢獻者。

這只是 commit 數量的統計,那麼關於代碼行數的統計呢?有很是多的 CLI 項目能夠幫助你分析 Git 數據。

@arzzen 的 git-quick-stats 會展現出倉庫活動的總覽。你能夠查看每個月、天天、每小時的共享。

$ git-quick-stats
    
Stanley Goldman <StanleyGoldman@github.com>:
insertions:    1800 (1%)
deletions:     1455 (1%)
files:         221 (2%)
commits:       108 (3%)
lines changed: 3255
first commit:  Thu Apr 6 09:33:53 2017 -0700
last commit:   Fri Jul 27 14:14:51 2018 -0400
複製代碼

@casperdcl 的 git-fame 也能夠統計對倉庫的貢獻,包括代碼行數統計。

$ git-fame
    
Total commits: 5190
Total ctimes: 17640
Total files: 1058
Total loc: 113683
| Author                   |   loc |   coms |   fils |  distribution   |
|:-------------------------|------:|-------:|-------:|:----------------|
| Stanley Goldman          | 75955 |   3164 |    414 | 66.8/61.0/39.1  |
| Andreia Gaita            | 34438 |   1549 |    477 | 30.3/29.8/45.1  |
| Emil "AngryAnt" Johansen |  2230 |    191 |     35 | 2.0/ 3.7/ 3.3   |
| Don Okuda                |   312 |    195 |     51 | 0.3/ 3.8/ 4.8   |
| Meaghan Lewis            |   228 |     15 |     31 | 0.2/ 0.3/ 2.9   |
複製代碼

@IonicaBizau 的 git-stats 包含了全部你能想到的有趣數據,包括貢獻和餅狀圖。

可是,但願你和你的團隊明白,比起代碼行數和提交量來講,你的價值由更多、更可靠的衡量指標來決定。若是你每一個週末都在爲代碼數量和提交量不足而發愁,那麼是時候換個新工做了。

最後的話

你的點贊會給我一天好心情,若是能順手 來個 star,再順便關注下公衆號(零幺小館)就更完美了。

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息