當(dāng)我還是一個(gè)開源貢獻(xiàn)者的初學(xué)者時(shí),我最大的挑戰(zhàn)之一是找到正確的項(xiàng)目 / 問題來工作。
在很長一段時(shí)間里,我都是依靠互聯(lián)網(wǎng)上不同作家的資源 (順便說一句,這些資源很好)。但我一直想找到解決這個(gè)問題的方法 —— 一種我可以搜索和跟蹤適合我技能的項(xiàng)目的方法。
讓我們在一件事上達(dá)成一致:與谷歌不同,搜索 GitHub 并不容易。但作為一名開發(fā)人員,你很有可能每天都要與 GitHub 或 Gitlab 進(jìn)行交互。
現(xiàn)在的問題不是你使用這些版本控制系統(tǒng)的目的,而是你如何使用它們。就像掌握谷歌搜索技能對任何普通互聯(lián)網(wǎng)用戶來說都是必不可少的一樣,我相信對于開發(fā)人員來說,學(xué)習(xí)如何有效地搜索 GitHub 也是必不可少的。
在本文中,我們將介紹如何正確搜索 GitHub 的不同技術(shù)。你將學(xué)習(xí)如何進(jìn)行搜索:
Issues 和 Pull Requests
Repositories
Users
Topics
以及更多。讓我們開始吧。
GitHub 搜索查詢
要想在網(wǎng)上找到某樣?xùn)|西的詳細(xì)信息,你需要有正確的搜索技巧。 GitHub 也一樣 ——— 要找到詳細(xì)信息,你可以利用常見的篩選、排序和搜索技術(shù),輕松地找到給定項(xiàng)目的特定 Issues 和 Pull Requests。
盡管你在互聯(lián)網(wǎng)上列出了不同項(xiàng)目的多種資源,但當(dāng)你想自己進(jìn)行搜索時(shí),主要的問題就來了。如何開始? 你應(yīng)該使用哪些關(guān)鍵字來找到正確的結(jié)果?
大多數(shù)維護(hù)人員傾向于給他們的項(xiàng)目貼上問題標(biāo)簽,這使得貢獻(xiàn)者更容易找到合適的項(xiàng)目。下面列出了在使用 GitHub
時(shí)可能會幫助您的一些技巧。
如何在 GitHub 上搜索問題和提交請求
尋找項(xiàng)目去貢獻(xiàn)的最常見方法之一是通過搜索問題和相關(guān) PR。以下是您可以輕松找到可靠答案的一些技巧:
is:issue is:open label:beginner - 此特定查詢將列出所有已打開并標(biāo)記為初學(xué)者問題的項(xiàng)目。
is:issue is:open label:easy - 這列出了被標(biāo)記為簡單的所有打開的問題。
is:issue is:open label:first-timers-only - 這列出了歡迎首次投稿的所有未解決問題。
is:issue is:open label:good-first-bug - 這列出了標(biāo)記為適合解決的第一個(gè)錯(cuò)誤的未解決問題的項(xiàng)目,以吸引貢獻(xiàn)者對其進(jìn)行處理。
is:issue is:open label:"good first issue" - 這將列出所有未解決的問題,標(biāo)簽為 "好的第一個(gè)問題",這意味著這是初學(xué)者入門的好地方。
is:issue is:open label:starter - 列出所有開放的被標(biāo)記為
starter
的問題。is:issue is:open label:up-for-grabs - 列出所有開放的問題,如果您具備必要的技能,則可以隨時(shí)進(jìn)行處理。
no:project type:issue is:open - 將列出所有未分配給特定項(xiàng)目的待處理問題。
no:milestone type:issue is:open - 很多時(shí)候,項(xiàng)目都是用里程碑來跟蹤的。但是,如果您想查找未跟蹤的問題,此搜索查詢將為您列出這些項(xiàng)目。
no:label type:issue is:open - 這將列出所有未標(biāo)記的未解決問題。
is:issue is:open no:assignee - 列出所有未解決的還沒分配給某個(gè)人的問題。
如何搜索存儲庫
默認(rèn)情況下,要進(jìn)行搜索,你只需在搜索欄中輸入存儲庫名稱即可!你將獲得一些搜索結(jié)果。
但你獲得你想要的確切回購的幾率非常低。
讓我們看一下可以縮小搜索范圍的一些方法:
如何通過名稱、描述 / README 查找
按自述文件的名稱和描述進(jìn)行搜索時(shí)需要注意的一點(diǎn)是,搜索短語應(yīng)以 in
限定符開頭。這使得搜索 “內(nèi)部” 你要查找的內(nèi)容成為可能。
示例
使用
in:name
。比方說,你正在尋找資源,以了解更多關(guān)于數(shù)據(jù)科學(xué)的信息。在這種情況下,你可以使用Data Science in:name
命令,它將列出倉庫名稱中含有 Data Science 的倉庫。使用
in:description
。如果你想找到具有特定描述的倉庫,例如,倉庫的描述中包含 “freeCodeCamp” 一詞,我們的搜索將是:freecodecamp in:description
使用
in:readme
。你用它來搜索一個(gè)文件的 README 中的某一短語。如果我們想找到 README 中包含 freecodecamp 這個(gè)詞的倉庫,我們的搜索將是:freecodecamp in:readme
.使用
in:topic
。你用它來查找某個(gè)短語或單詞是否被標(biāo)注在主題中。例如,要找到所有在主題中列出 freecodecamp 的倉庫,我們的搜索將是:freecodecamp in:topic
你還可以組合多個(gè)搜索查詢以進(jìn)一步縮小搜索范圍。
怎樣根據(jù) Stars, Forks 查找
你還可以根據(jù)項(xiàng)目有多少 Stars 和 Forks 來搜索存儲庫。這讓你更容易知道這個(gè)項(xiàng)目有多受歡迎。
例子
使用
stars:n
。如果你搜索的倉庫有 1000 Star,那么你的搜索查詢將是stars:1000
。這將列出擁有 1000 Star 的存儲庫。使用
forks:n
。這指定了存儲庫應(yīng)該擁有的 Fork 數(shù)量。如果你想找到 Fork 少于 100 個(gè)的倉庫,你的搜索將是:forks:<100
。
好在你總是可以使用關(guān)系運(yùn)算符,比如 <
, >
, <=
, >=
以及 ..
幫助你進(jìn)一步縮小搜索范圍。
如何按語言查找
在 GitHub 上搜索的另一個(gè)很酷的方法是按語言搜索。這可以幫助你過濾出特定語言的倉庫。
示例:
使用
language:LANGUAGE
。例如,如果你想找到用 PHP 編寫的倉庫,你的搜索將是:language:PHP
如何按組織名稱查找
你也可以搜索由一個(gè)特定組織維護(hù)或創(chuàng)建的倉庫 / 項(xiàng)目。為此,你需要用關(guān)鍵詞 org:...
來開始你的搜索,然后是組織名稱。
例如,如果你搜索 org:freecodecamp
,它將列出與 freeCodeCamp 相匹配的倉庫。
如何按日期查找
如果你希望你的結(jié)果基于一個(gè)特定的日期,你可以使用這些關(guān)鍵詞之一進(jìn)行搜索:created
, updated
, merged
和 closed
。這些關(guān)鍵詞應(yīng)該伴隨著格式為 YYYY-MM-DD
的日期一起使用。
示例:
使用
keyword:YYYY-MM-DD
。舉個(gè)例子,我們想搜索所有在 2022-10-01 之后創(chuàng)建的帶有 freeCodeCamp 這個(gè)詞的倉庫。那么我們的搜索將是:freecodecamp created:>2022-10-01
你也可以使用 <
, >
, >=
和 <=
來搜索指定日期之后、之前和指定日期的日期。要在一個(gè)范圍內(nèi)搜索,你可以使用...
.
如何通過許可證查找
當(dāng)你在尋找一個(gè)可以貢獻(xiàn)的項(xiàng)目時(shí),許可證是非常重要的。不同的許可證對貢獻(xiàn)者可以做什么或不可以做什么給予不同的權(quán)利。
為了使你更容易找到有正確許可證的項(xiàng)目,你需要對許可證有一個(gè)很好的了解。你可以在這里閱讀更多關(guān)于它們的信息。
示例:
使用
license:LICENSE_KEYWORD
。這是一個(gè)搜索具有特定許可證的項(xiàng)目的好方法。例如,要搜索具有 MIT 許可證的項(xiàng)目,你可以使用license:MIT
.
如何通過可見度查找
你也可以根據(jù)倉庫的可見度進(jìn)行搜索。在這種情況下,你可以使用公有或私有。這將分別匹配公共或私有存儲庫中的問題和 PR 。
示例:
使用
is:public
。這將顯示一個(gè)公共存儲庫列表。讓我們舉一個(gè)例子,我們希望搜索 freeCodCamp 擁有的所有公共存儲庫。那我們的搜索就會:is:public org:freecodecamp
。使用
is:private
。該查詢旨在列出給定搜索查詢下的所有私有存儲庫。
結(jié)論
盡管我們在這里介紹了許多搜索查詢,你仍然可以通過將多個(gè)參數(shù)組合在一起來進(jìn)一步縮小搜索范圍。
有關(guān)更多資源和更多搜索參數(shù),你可以查閱 GitHub 文檔或使用高級 GitHub 搜索。這些方法總能派上用場,因?yàn)樗鼈兲峁┝烁嗟倪^濾選項(xiàng)。
你可以使用大量的搜索參數(shù)來簡化你在 GitHub 上的日常活動(dòng)。希望這將幫助你更容易和有效地使用這個(gè)平臺。
原文地址:https://www.freecodecamp.org/news/github...
譯文地址:https://learnku.com/laravel/t/73213