Github 秘笈系列 (一) – Github 隱藏神秘功能!!

今天在 Github 上找到一篇有趣的文章,內容是介紹 Github 各種隱藏的功能,現在就把這些隱藏功能分享給大家,令大家使用 Github 時能更快更方便。

原文 : https://github.com/tiimgreen/github-cheat-sheet/blob/master/README.zh-cn.md

繁化 : NitroXenon

忽略空白字符變化

在任意diff頁面的URL後加上 ?w=1,可以去掉那些只是空白字符的變化,使你能更專注於代碼的變化。

Diff without whitespace

詳見 GitHub secrets.

調整Tab字符所代表的空格數

在 diff 或者 file 頁面的URL後面加上 ?ts=4,這樣當顯示tab字符的長度時就會是4個空格的長度,不再是默認的8個空格。 ts後面的數字還可以根據你個人的偏好進行修改。不過,這個小訣竅在 Gists 頁面和 raw file 頁面不起作用。

下面是我們在Go語言的source file頁面URL後加 ?ts=4的例子:

Before, tab space example

然後是我們添加 ?ts=4的例子:

After, tab space example

查看某個用戶的Commit歷史

查看某個用戶的所有提交歷史,只需在 commits 頁面URL後加上 ?author={user}

https://github.com/rails/rails/commits/master?author=dhh

DHH commit history

深入了解提交視圖之間的區別

克隆某個倉庫

當我們克隆某一資源時,可以不要那個 .git後綴。

bash$ git clone https://github.com/tiimgreen/github-cheat-sheet

更多對 Git clone 命令的介紹.

分支

將某個分支與其他所有分支進行對比

當你點擊某個倉庫的分支(Branches)選項卡時

https://github.com/{user}/{repo}/branches 你會看到一個包含所有未合併的分支的列表。

你可以在這裡查看比較(Compare)頁面或點擊刪除某個分支。

Compare branches not merged into master in jquery/jquery repo - https://github.com/jquery/jquery/branches

有的時候我們需要將多個分支與一個非主分支(master)進行對比,此時可以通過在URL後加入要比較的分支名來實現:

https://github.com/{user}/{repo}/branches/{branch}

Compare branches not merged into <code>1.x-master</code> in jquery/jquery repo - https://github.com/jquery/jquery/branches/1.x-master

可以在URL後加上 ?merged=1來查看已經合併了的分支。

Compare branches merged in to <code>1.x-master</code> in jquery/jquery repo - https://github.com/jquery/jquery/branches/1.x-master?merged=1

你可以使用這個界面來替代命令行直接刪除分支。

比較分支

如果我們想要比較兩個分支,可以像下面一樣修改URL:

https://github.com/{user}/{repo}/compare/{range}

其中 {range} = master...4-1-stable

例如:

https://github.com/rails/rails/compare/master...4-1-stable

Rails branch compare example

{range}還可以使用下面的形式:

https://github.com/rails/rails/compare/master@{1.day.ago}...masterhttps://github.com/rails/rails/compare/master@{2014-10-04}...master

日期格式 YYYY-DD-MM

Another compare example

…這樣你就能查看master分支上一段時間或者指定日期內的改動。

了解更多關於比較跨時間段的提交記錄.

比較不同派生庫的分支

想要對派生倉庫(Forked Repository)之間的分支進行比較,可以像下面這樣修改URL實現:

https://github.com/user/repo/compare/{foreign-user}:{branch}...{own-branch}

例如:

https://github.com/rails/rails/compare/byroot:master...master

Forked branch compare

Gists

Gists 給我們提供了一種不需要創建一個完整的倉庫,使小段代碼也可以工作的簡單方式。

Gist

Gist的URL後加上 .pibb,可以得到更適合嵌入到其他網站的HTML版本。

Gists還可以像任何標準倉庫一樣被克隆。

bash$ git clone https://gist.github.com/tiimgreen/10545817

Gists

這意味著你可以像 Github 倉庫一樣修改和更新 Gists :

bash$ git commitUsername for 'https://gist.github.com':Password for 'https:[email protected]':

進一步了解如何創建 gists.

Git.io

Git.io是Github的短網址服務。

Git.io

你可以通過Curl命令以普通HTTP協議使用它:

bash$ curl -i http://git.io -F "url=https://github.com/..." HTTP/1.1 201 Created Location: http://git.io/abc123$ curl -i http://git.io/abc123 HTTP/1.1 302 Found Location: https://github.com/...

進一步了解 Git.io.

鍵盤快捷鍵

在倉庫主頁上提供了快捷鍵方便快速導航。

  • t 鍵會打開一個文件瀏覽器。
  • w 鍵會打開分支選擇菜單。
  • s 鍵會激活頂端的命令欄 (Command Bar)。
  • l 鍵編輯Issue列表頁的標籤。
  • 查看文件內容時(如: https://github.com/tiimgreen/github-cheat-sheet/blob/master/README.md),按 y 鍵將會凍結這個頁面,這樣就算代碼被修改了也不會影響你當前看到的。

?查看當前頁面支持的快捷鍵列表:

Keyboard shortcuts

進一步了解如何使用 Command Bar.