GitHub這5個(gè)騷操作,99%的人不知道!
Hollis的新書(shū)限時(shí)折扣中,一本深入講解Java基礎(chǔ)的干貨筆記!
GitHub 是程序員必備的代碼開(kāi)源平臺(tái)。我們可以在 GitHub 上搜索和閱讀項(xiàng)目代碼,進(jìn)行學(xué)習(xí);或者復(fù)制粘貼,從而快速完成自己的項(xiàng)目。

相信絕大多數(shù)同學(xué)都用過(guò) GitHub。但是,很多同學(xué)僅僅是局限于 “能用”,GItHub 的幾個(gè)隱藏的神級(jí)技巧,大家都知道么?
下面我來(lái)分享 5 個(gè)?隱藏的?、實(shí)用的 GitHub 技巧,大家可以在留言區(qū)分享一下自己之前用過(guò)幾個(gè),學(xué)到了幾個(gè)~
1. 搜索技巧
搜索無(wú)疑是大家使用最多的功能,絕大多數(shù)同學(xué)是這樣搜索的:
點(diǎn)下搜索框,輸入想搜的內(nèi)容,然后往往會(huì)看到一大堆搜索結(jié)果,接下來(lái)還要再去選擇編程語(yǔ)言來(lái)過(guò)濾。結(jié)果還是一大堆!不僅麻煩,而且搜索出來(lái)的內(nèi)容可能非常老舊。

而有經(jīng)驗(yàn)的大佬呢,可能是這么搜的:
按快捷鍵?s?直接聚焦到搜索框,然后輸入一串神秘代碼:springboot vue stars:>1000 pushed:>2022-05-02 language:Java?,再按回車搜索,就能輕松快速地得到精確的、最新的結(jié)果。

怎么樣,搜出來(lái)的項(xiàng)目是不是都挺經(jīng)典的?
這一串神秘代碼呢,其實(shí)是利用了 GitHub 高級(jí)搜索功能提供的?搜索限定符?。
當(dāng)然,完全不用記這些,進(jìn)入 advance search 界面(搜索結(jié)果頁(yè)左下角),利用可視化表單也能實(shí)現(xiàn)高級(jí)搜索:

比如搜索最近更新的、Java 語(yǔ)言的、star 數(shù)超過(guò) 1000 的項(xiàng)目:

但這個(gè)界面展示的搜索條件有限,其實(shí)還有更多的搜索限定語(yǔ)法,比如按代碼庫(kù)名稱、描述搜索,對(duì)倉(cāng)庫(kù)中的內(nèi)容進(jìn)行搜索等,這些都可以在 GitHub 官方文檔查閱,不用去背!
官方文檔:https://docs.github.com/cn/search-github/getting-started-with-searching-on-github/about-searching-on-github
2. ?文件查看技巧
在我們發(fā)現(xiàn)開(kāi)源項(xiàng)目后,往往要進(jìn)入項(xiàng)目詳情頁(yè),通過(guò)查看文件和閱讀源碼來(lái)了解項(xiàng)目。
相信大多數(shù)同學(xué)是一級(jí)一級(jí)的點(diǎn)擊項(xiàng)目目錄去找文件,發(fā)現(xiàn)位置錯(cuò)了后呢,還要回到最初的起點(diǎn),呆呆地再換一個(gè)目錄去找。對(duì)于 java 這種包路徑層層嵌套的項(xiàng)目來(lái)說(shuō),實(shí)在是太麻煩了。

其實(shí),我們只需按下?t?鍵,就可以快速、實(shí)時(shí)地對(duì)倉(cāng)庫(kù)內(nèi)的所有文件進(jìn)行搜索了。

點(diǎn)進(jìn)某個(gè)文件后,還有技巧,按下?L?鍵,就可以快速跳轉(zhuǎn)到某一行。點(diǎn)擊行號(hào),就可以快速?gòu)?fù)制這行的代碼,生成永久鏈接。

按?b?鍵還可以快速查看該文件的改動(dòng)記錄。是不是方便很多了呢?

除了上面這些,其實(shí) GitHub 里還隱藏了非常多的快捷鍵,大家可以收藏一下,也可以在官方文檔查看。

官方文檔:https://docs.github.com/cn/get-started/using-github/keyboard-shortcuts
除了快捷鍵,GitHub 其實(shí)還藏著一個(gè)命令面板,按?ctrl + k?打開(kāi),然后就可以快速查看內(nèi)容,高效執(zhí)行各種操作了,感興趣的同學(xué)依然可以從官方文檔去了解,這里不再贅述。

官方文檔:https://docs.github.com/cn/get-started/using-github/github-command-palette
3. 閱讀代碼技巧
雖然通過(guò)上個(gè)技巧,我們已經(jīng)能夠很方便地搜索文件了,但是如果要完整閱讀項(xiàng)目代碼,可能要在文件間來(lái)回跳轉(zhuǎn),就非常麻煩。所以我們往往會(huì)把項(xiàng)目代碼下載到本地,用更強(qiáng)大的編輯器來(lái)閱讀。
但是,在我們調(diào)研和選擇項(xiàng)目時(shí),有那么多我們不了解的項(xiàng)目,難道都要一個(gè)個(gè)下載到本地去閱讀么?

當(dāng)然不用!
登錄 GitHub 后,直接在倉(cāng)庫(kù)詳情頁(yè)按下?。(句號(hào))鍵,神奇的事情發(fā)生了,你會(huì)發(fā)現(xiàn),代碼竟然直接在一個(gè)?網(wǎng)頁(yè)版?VS Code 編輯器中打開(kāi)了!

使用體驗(yàn)和本地的 VS Code 編輯器完全一致,不僅可以隨時(shí)切換文件來(lái)閱讀,代碼高亮提示、快捷跳轉(zhuǎn)、代碼搜索、debug 等功能一應(yīng)俱全,甚至還可以安裝插件來(lái)增強(qiáng)編輯器的功能。誰(shuí)用誰(shuí)真香~

4. 在線運(yùn)行項(xiàng)目
除了一鍵在瀏覽器中查看項(xiàng)目源碼外,GitHub 還藏著一個(gè)更?無(wú)敵?的功能。
讓我們?cè)陧?xiàng)目地址前加上?gitpod.io/#?前綴,等待幾秒鐘,神奇的事情發(fā)生了。
依托于 GitPod,我們不僅在一個(gè)網(wǎng)頁(yè)編輯器中打開(kāi)了項(xiàng)目代碼、可以實(shí)時(shí)編輯和保存;而且它自動(dòng)識(shí)別了項(xiàng)目的類型,并且自動(dòng)安裝了依賴包。

接下來(lái),我們完全可以把這個(gè)網(wǎng)頁(yè)提供的遠(yuǎn)程服務(wù)器當(dāng)做自己的電腦來(lái)使用,里面預(yù)裝了 python、java、go 等等,啥環(huán)境都有!因此我們可以在控制臺(tái)里為所欲為:可以輸入命令來(lái)執(zhí)行項(xiàng)目,并且直接在網(wǎng)頁(yè)中查看項(xiàng)目的運(yùn)行效果;甚至還可以一鍵構(gòu)建 Docker 鏡像,快的飛起!

這下再也不用把項(xiàng)目下載到本地,然后安裝一堆環(huán)境來(lái)查看項(xiàng)目效果了。
沒(méi)記錯(cuò)的話,GitPod 每月提供 50 個(gè)小時(shí)的免費(fèi)使用時(shí)長(zhǎng),對(duì)絕大多數(shù)同學(xué)來(lái)說(shuō)完全足夠了。

5. 項(xiàng)目推送
除了主動(dòng)搜索項(xiàng)目外,其實(shí)在 GitHub 的 Explorer 探索頁(yè)面中,有一個(gè)非常不起眼的按鈕 —— 獲取郵件更新。
我們可以根據(jù)自己的喜好,讓 GitHub 定期給我們推送自己感興趣的優(yōu)質(zhì)項(xiàng)目,就可以持續(xù)擴(kuò)大知識(shí)面、了解開(kāi)源動(dòng)態(tài)啦。

完
往期推薦

新入職的同事問(wèn)我,為什么會(huì)出現(xiàn)數(shù)據(jù)庫(kù)和緩存不一致的問(wèn)題?

驗(yàn)證碼這樣做,瞬間高出一個(gè)逼格!

2年時(shí)間從阿里外包轉(zhuǎn)正
有道無(wú)術(shù),術(shù)可成;有術(shù)無(wú)道,止于術(shù)
歡迎大家關(guān)注Java之道公眾號(hào)
好文章,我在看??
