姓名:孫賓
學(xué)號(hào):17011210280
學(xué)院:通信工程學(xué)院
轉(zhuǎn)自:微信公眾號(hào)程序人生
【嵌牛導(dǎo)讀】本文介紹嵌入式學(xué)習(xí)中關(guān)于GitHub的應(yīng)用技巧
【嵌牛鼻子】GitHub
【嵌牛提問】如何快速掌握GitHub
【嵌牛正文】
#1 在GitHub.com上編輯代碼
先從一個(gè)大多數(shù)人都知道的開始吧~
在GitHub上打開一個(gè)文件(任何倉庫的任何文件)讼溺,在頁面的右上角有一個(gè)像小鉛筆的按鈕卒稳。點(diǎn)擊它宙攻,你就可以編輯文件了益缎。當(dāng)你編輯完成,點(diǎn)擊Propose file change贮尉,GitHub將為你fork這個(gè)倉庫晰筛,然后創(chuàng)建pull request逻锐。
你不再需要fork這個(gè)倉庫,pull文件到本地泣棋,修改文件后再提交到GitHub創(chuàng)建一個(gè)pull request胶哲。
你不再需要fork這個(gè)倉庫,pull文件到本地潭辈,修改文件后再提交到GitHub創(chuàng)建一個(gè)pull request鸯屿。
#2 粘貼圖片
你可以不僅限于用文字來評(píng)論或者bug描述。你可以直接復(fù)制一個(gè)圖片到剪貼板把敢,當(dāng)你粘貼的時(shí)候碾盟,你的圖片將會(huì)自動(dòng)上傳到云,然后展示在頁面上技竟。
#3 美化代碼
如果你想編寫一個(gè)代碼塊冰肴,以三個(gè)反引號(hào)開頭,GitHub會(huì)嘗試猜測你用的什么語言榔组。
但是如果你直接粘貼一個(gè)段Vue熙尉,Typescript或者JSX代碼,你可以指定出來以得到正確的語法高亮搓扯。
注意第一行的```jsx:
意味著這段代碼可以正確的顯示:
(順便說下检痰,在gist中,如果你的gist文件后綴名是.jsx锨推, 將自動(dòng)獲得JSX語法高亮)
下方鏈接是所有支持的語法列表:
https://github.com/github/linguist/blob/fc1404985abb95d5bc33a0eba518724f1c3c252e/vendor/README.md
#4 在PRs中巧妙關(guān)閉issues
如果你創(chuàng)建了一個(gè)pull request來修復(fù)問題單 #234. 你可以在PR的描述中寫fixes #234铅歼。
當(dāng)合并PR的時(shí)候,會(huì)自動(dòng)關(guān)閉那個(gè)issue换可。是不是很方便:)
了解更多:
https://help.github.com/articles/closing-issues-using-keywords/
#5 鏈接到評(píng)論
是否想要鏈接到某個(gè)特定的評(píng)論椎椰?
點(diǎn)擊評(píng)論框用戶名旁邊的時(shí)間,就可以得到鏈接了沾鳄。
#6 鏈接到代碼
是否想要鏈接到一行特定代碼慨飘?
打開一個(gè)文件,點(diǎn)擊代碼左邊的行號(hào),或者按住shift選擇多行瓤的。
分享這個(gè)URL休弃,可以鏈接到這些代碼。如果文件被修改了圈膏,會(huì)發(fā)生變化嗎塔猾?不會(huì),因?yàn)檫@是永久鏈接稽坤。
#7 靈活使用GitHub地址欄
GitHub的頁面導(dǎo)航已經(jīng)做的很好了桥帆,但是有些時(shí)候直接在導(dǎo)航欄中輸入會(huì)更快。比如你想跳轉(zhuǎn)到一個(gè)分支慎皱,看下它與主干的區(qū)別老虫,就可以直接在你倉庫的后面輸入/compare/branch-name:
與主干對(duì)比,兩個(gè)分支對(duì)比茫多,輸入/compare/**integration-branch...**my-branch
對(duì)于快捷鍵的話祈匙,ctrl+L或者cmd+L` 光標(biāo)將跳轉(zhuǎn)到地址欄,這使得在兩個(gè)分支切換變得很方便天揖。
#8 創(chuàng)建復(fù)選框列表
你是否想在你提交的issue中看到復(fù)選框列表夺欲?
以及在issue列表中,看到“2/5”的進(jìn)度條今膊?
交互式復(fù)選框語法如下:
-[ ]Screenwidth(integer)
-[x]Service worker support
-[x]Fetch support
-[ ]CSS flexbox support
-[ ]Custom elements
在項(xiàng)目管理界面使用也一樣:
如果你不知道項(xiàng)目管理是什么些阅,我接下來就講。
#9 在GitHub中進(jìn)行項(xiàng)目管理
我在大項(xiàng)目中通常使用Jira來管理項(xiàng)目斑唬,對(duì)于單人項(xiàng)目我一般用Trello市埋。
就在幾周前我了解到GitHub也提供項(xiàng)目管理。就在你的倉庫中找到Projects恕刘,我都有點(diǎn)想把我在Trello的工作項(xiàng)移植過來了缤谎。
在GitHub中一模一樣的項(xiàng)目管理:
如果你想把你的issues添加到你的項(xiàng)目管理中來,你可以在頁面右上方點(diǎn)擊Add Cards搜索你想添加的褐着,這里的搜索有特殊的語法(https://help.github.com/articles/searching-issues-and-pull-requests/)坷澡,比如輸入is:pr is:open,意味著你可以找到所有打開的PRs含蓉,如果你想修復(fù)bugs,輸入label:bug馅扣。
你可以把存在的notes轉(zhuǎn)換成issues斟赚。
或者在issues界面,把issue添加到項(xiàng)目管理中岂嗓。
先在項(xiàng)目管理中把類別分好汁展,再確定你把issues放入那個(gè)類目中。
缺點(diǎn)
我在最近的三周開始使用GitHub來替代Jira來進(jìn)行管理項(xiàng)目(一個(gè)小項(xiàng)目)厌殉。越用越喜歡食绿。
但是我不敢想象用它來進(jìn)行敏捷開發(fā),因?yàn)槲蚁胍_的評(píng)估和計(jì)算所有事物公罕。
好消息是器紧,GitHub的項(xiàng)目管理功能很清爽簡潔,不需要太大的學(xué)習(xí)成本楼眷,就可以輕松上手铲汪。
ZenHub(https://www.zenhub.com/)彌補(bǔ)了GitHub不足,可以評(píng)估自己的issues罐柳,創(chuàng)建依賴掌腰,還有速度和燃盡圖≌偶看起來很牛逼齿梁。
了解更多:
https://help.github.com/articles/tracking-the-progress-of-your-work-with-project-boards/
#10 GitHub wiki
非結(jié)構(gòu)化網(wǎng)頁集合,也就是說你所有的網(wǎng)頁沒有從屬關(guān)系肮蛹,沒有上一段和下一段按鈕勺择,也沒有面包屑導(dǎo)航。
我先創(chuàng)建一個(gè)GitHub wiki伦忠,我從NodeJS文檔找了幾個(gè)頁面作為wiki的頁面省核,然后創(chuàng)建一個(gè)側(cè)邊導(dǎo)航來模擬實(shí)際的結(jié)構(gòu)。側(cè)邊欄一直存在昆码,不會(huì)對(duì)當(dāng)前頁面高亮气忠。
鏈接需要手動(dòng)維護(hù),但總的來說已經(jīng)滿足需求了赋咽。?查看Demo?(https://github.com/davidgilbertson/about-github/wiki)笔刹。
我的建議:如果你的README.md文件太大了,而且你需要幾個(gè)頁面來更詳細(xì)的描述你的文檔冬耿,那么GitHub wiki是很適合你的舌菜。如果你的頁面需要導(dǎo)航或者結(jié)構(gòu)化,那么你需要想其他辦法了亦镶。
#11 靜態(tài)博客
你可能已經(jīng)知道你可以使用GitHub部署靜態(tài)網(wǎng)頁日月,這個(gè)部分我將告訴你用Jekyll(簡單博客靜態(tài)網(wǎng)站生成器)生成靜態(tài)網(wǎng)頁
非常簡單,Jekyll會(huì)用漂亮的主題去渲染你的README.md文件缤骨。比如這個(gè)README頁面(https://github.com/davidgilbertson/about-github):
點(diǎn)擊設(shè)置爱咬,選擇Jekyll主題。
我將得到一個(gè)Jekyll主題的頁面(https://davidgilbertson.github.io/about-github/):
我們通過一個(gè)markdown文件就創(chuàng)建一個(gè)靜態(tài)網(wǎng)站绊起,編輯修改非常方便精拟,所以GitHub基本上可以當(dāng)內(nèi)容管理系統(tǒng)來用了。
React和Bootstrap的網(wǎng)站已經(jīng)怎么做了。
#12 用GitHub作為CMS(內(nèi)容管理系統(tǒng))
你有一個(gè)網(wǎng)站需要展示一些文本蜂绎,但是你又不想把文本存成HTML栅表。
您想將文本塊存儲(chǔ)在某個(gè)地方,而且可以很方便的編輯师枣,且不需要開發(fā)怪瓶。
我的建議是文本寫在markdown文件中,然后存到你的倉庫践美。接著在前端寫一個(gè)組件來請(qǐng)求文件然后渲染洗贰。
我用喜歡用React,所以這是一個(gè)React組件的例子:得到markdown文件路徑陨倡,然后請(qǐng)求敛滋,解析,最后渲染成HTML兴革。
classMarkdownextendsReact.Component{
constructor(props) {
super(props);
// 這里需要替換成你的url
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(
);
}
}
我用的是marked(https://www.npmjs.com/package/marked)?插件來解析markdown绎晃,然后你可以這樣使用組件:
const Page = () => (
A very important disclaimer:
);
至此,你可以把GitHub當(dāng)成你的CMS了帖旨。
GitHub 谷歌插件
我只用這個(gè)?octobox谷歌插件(https://chrome.google.com/webstore/detail/octotree/bkhaagjahfmjljalopjnoealnfndnagc?hl=en-US)一段時(shí)間了箕昭,現(xiàn)在我推薦給你。
它在左側(cè)生成一個(gè)面板解阅,通過樹形結(jié)構(gòu)來瀏覽你的倉庫落竹。
說到顏色,我怎么容忍一個(gè)蒼白的GitHub呢货抄?
插件組合:?Stylish 這個(gè)插件允許你把主題應(yīng)用到任何一個(gè)網(wǎng)站:(https://chrome.google.com/webstore/detail/stylish-custom-themes-for/fjnbnpbmkenffdnngjfgmeleoegfcffe/related?hl=en)?和??GitHub 黑色主題(https://userstyles.org/styles/37035/github-dark)述召。 為了看上去統(tǒng)一,把谷歌開發(fā)工具換成黑色(這個(gè)是內(nèi)置的蟹地,在設(shè)置中打開)积暖,然后換成Atom One Dark 黑色主題?(https://chrome.google.com/webstore/detail/atom-one-dark-theme/obfjhhknlilnfgfakanjeimidgocmkim?hl=en)。