北京Linux培訓
達內北京天壇中心

010-62126400

熱門課程

北京linux培訓 > linux知識庫 >北京linux培訓班:12個GitHub神操作,運維必須get!

北京linux培訓班:12個GitHub神操作,運維必須get!

  • 時間:2020-05-29 16:46
  • 發布:北京linux培訓
  • 來源:linux知識庫

解放生產力的,GitHub 使用指南。本文達內北京linux培訓機構為大家分享12個GitHub神操作,運維必須get!

1、在 GitHub 上編輯代碼

我要先說一個很多人都知道的事兒。

當你使用 GitHub看一些文件時(任何的文本文件或者倉庫),能看到一個頂部右側有一個小鉛筆圖標。點擊即可編輯文檔。完成后,按照提示點擊「Propose file change」,GitHub 會為你 fork 這個倉庫并創建一個 pull request。

很帥吧,不需要 fork / pull / 改變 locally / push / 創建 PR,只需點擊一下,GitHub 就為你創建了一個分支。

這對于修改一些排版錯誤或者防惡意篡改是很有幫助的。

2、粘貼圖像

對于 issue 和 comment,你還可以直接粘貼圖片,當你粘貼時圖片會被上傳至云端,然后以 MarkDown 格式顯示。

非常簡潔。

3、格式化代碼

如果你想寫一個 code block,你可以在開始處寫三個反引號,然后 GitHub 會試圖猜出你在寫什么語言。

但是如果你發布如 Vue、Typescript、JSX 這樣的語言,你可以明確寫出來,以獲取正確的高亮。

下圖第一行使用了 ```jsx:

片段呈現:

(這可以擴展到 gist,順便一提,如果你給了 gist 定義成 .jsx 擴展名,那么你會得到 JSX 的高亮)

4、使用魔術詞在 PR 中關閉 issue

比如你在創建一個 pull request 去修復 issue #234。那你可在 PR 輸入「fixes #234」,就可以自動合并 PR 并關閉這個 issue,是不是很酷。

(提交信息里可以使用 fix/fixes/fixed , close/closes/closed 或者 resolve/resolves/resolved等關鍵詞)

5、鏈接到 comment

你甚至想鏈接到一個特定的評論,但無法做到?我在這里告訴你,點擊名字旁邊的日期/時間就萬事大吉。

6、鏈接到代碼

既然能鏈接到 comment,那你想問能不能鏈接到代碼上?可以的。

試試這個操作:在查看文件時,點擊代碼邊上的行數。

哇喔,你看到了么?URL 隨之更新。如果你按住 Shift 并單擊另一個行號,URL 會再次更新,并且高亮這兩個行數之間的所有代碼段。

你現在可以分享這個 URL 了,但等等,這些還是當前分支,如果文件變化了呢?你需要一個永久鏈接。

我比較懶,但是下面這一個截圖已經能夠表達如何獲取永久鏈接了(Copy Permalink):

7、像使用命令行一樣使用 GitHub URL

既然說到了 URL,那么就接著聊一下。使用 UI 瀏覽 GitHub 很方面也很好,不過很多時候最快的方式是使用 URL 來瀏覽。舉個例子,如果我想跳轉到正在處理的分支上,并想查看分支和 master 的差異,我可以在我的倉庫名后面輸入 /compare/branch-name。

這會使我到達分支的不同頁面:

可以在名字后面再加上...XXX(分支名)比如我寫的 mkdocs...pre-release,如下圖:

這一步你可以配合鍵盤快捷鍵,Ctrl + L 或者 cmd + L,可以讓光標直接移動到 URL 中(最起碼 chrome 是這樣)。這些加一起能提高生產力。

專業提示:用鍵盤移動 chrome URL 上的某一條網頁記錄,使用 Shift+Delete 或 Shift+fn+Delete 來刪除某一條記錄。(比如合并了分支之后就可以刪除了)

8、在 issue 中創建 list

你想在你的 issue中看到可多選的 list 么?

當你查看問題時,你想不想讓它變成 2 of 5 這樣的形式?

如果想,你可以在 issue 中使用以下句法:

- [ ] Screen width (integer)

- [x] Service worker support

- [x] Fetch support

- [ ] CSS flexbox support

- [ ] Custom elements

9、GitHub 上的 project board

我總是用 Jira 做大項目,獨立項目用 Trello,這兩者我都很喜歡。

后來我知道,GitHub 也有類似的 project board:

我個人為了方便把它們都添加為 note。board 極為方便的幫助你做倉庫管理。

你可以點擊右上角 Add Cards 來添加東西。這里有些特殊語法方便搜索,比如:is:pr is:open,你就可以把任何公開的 PR 拖到 board 上。

更多語法可以參考 search syntax 。

你也可以把現存的 note 轉化為 issue。

你也可以選擇 issue 直接添加到 projects 。

這些意味著,從現在開始,你可以明確責任制度,每一行代碼的分配都可以在 GitHub 上的 Project board 上完成,而不用去 Jira 或者 Trello 上。

不過它也有些缺點,比如功能比較少。你也可以試試 ZenHub,它有效的擴展 GitHub。

10、GitHub WiKi

GitHub WiKi 能夠幫助我們處理非結構化的頁面集合,就像維基百科那樣。我自己 NodeJS docs 就被我弄成 wiki 的樣子。幾個頁面,然后自定義側邊欄。具體方法網上很多,我的頁面可以供你參考一下。

建議:如果你有個特別長的單頁面 README.md 文件,并且想和其他人有所區別,你可以試試這種形式。

11、GitHub Pages(JekyII)

你可能已經知道了能使用 GitHub Pages 來托管靜態網站。那本條就特別介紹一下如何使用 JekyII 來構建站點。

以最簡單的方式,GitHub Pages + JekyII 將以最漂亮的主題來呈現你的 README.md,例如,你可以看一下 about-github 的自述文件。

在 GitHub 的 my site 中,點擊 setting,打開 GitHub Pages,選擇一個 JekyII 主題

就會得到一個 Jekyll 主題頁面:

它的優點是:

輕量級網站,響應速度快

網站更安全,無數據庫,無動態數據

無需通入過多精力維護

注意,他需要 Ruby 在本地運行,Mac 自帶,Windows 用戶自行安裝。

12、把 GitHub 當 CMS 用

你的網站需要顯示一些文字,但是你還不想直接放在 HTML 里面,那你可以把 GitHub 作為你儲存內容的一個地方。這樣,就可以讓任何一個非程序員通過修改 Markdown 來修改 HTML 網頁的內容。

我的方法是:在你的 GitHub 倉庫中使用 markdown 文件來保存文本。在你網站的前端用一個組件來抓取這些文本并呈現在網頁上。

我是玩 React 的,這里有個組件,用以抓取,解析并呈現到 HTML 上。

class Markdown extends React.Component {

constructor(props) {

super(props);class Markdown extends React.Component {

constructor(props) {

super(props);

// replace with your URL, obviously

this.baseUrl = 'https://raw.githubusercontent.com/davidgilbertson/about-github/master/text-snippets';

this.state = {

markdown: '',

};

}

componentDidMount() {

fetch(`${this.baseUrl}/${this.props.url}`)

.then(response => response.text())

.then((markdown) => {

this.setState({markdown});

});

}

render() {

return (

);

}

}

(/text-snippets 這個文件夾是儲存我的 markdown)

下面這段代碼是上面組件的示例:

const Page = () => (

A very important disclaimer:

);

所以現在 GitHub 也是你的 CMS,無論你想要樣大小的文字都可以。

推薦一個 GitHub 工具

Octotree Chrome extension

它可以讓你在看任何倉庫時,獲得一個左邊的樹狀圖。

以上。希望能夠對你有所幫助,have a nice day!

達內北京linux培訓機構為幫助零基礎想轉行的學員選對方向,特推出為期5天27門熱門互聯網技術任意免費學,5月免費課程正在開講中!運維技術免費學,莫錯良機

上一篇:北京linux培訓班:五分鐘搞定 Bash 功能!
下一篇:新手學習:Linux入門的一些基本知識整理

馬上預約七天免費體驗課

姓名:

電話:

北京linux培訓班:10 種Linux系統生成隨機密碼的方法!

干貨!運維必知的 9 種高性能技術架構!

新手學習:Linux入門的一些基本知識整理

北京linux培訓班:12個GitHub神操作,運維必須get!

選擇城市和中心
江西省

貴州省

廣西省

海南省

中国农村夫妇做人爱视频