新聞中心
[[340896]]

創(chuàng)新互聯(lián)是網(wǎng)站建設(shè)專家,致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,專業(yè)領(lǐng)域包括成都做網(wǎng)站、網(wǎng)站建設(shè)、電商網(wǎng)站制作開發(fā)、微信平臺(tái)小程序開發(fā)、微信營(yíng)銷、系統(tǒng)平臺(tái)開發(fā),與其他網(wǎng)站設(shè)計(jì)及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結(jié)合了恒基網(wǎng)絡(luò)品牌建設(shè)經(jīng)驗(yàn)和互聯(lián)網(wǎng)整合營(yíng)銷的理念,并將策略和執(zhí)行緊密結(jié)合,且不斷評(píng)估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網(wǎng)品牌整合方案!
創(chuàng)建干凈,管理良好的GitHub貢獻(xiàn)的簡(jiǎn)短指南。
在本文中,我將給出10個(gè)簡(jiǎn)單的步驟,以確保GitHub的貢獻(xiàn)快速而干凈。
目錄:
- 貢獻(xiàn)的生命周期(步驟)
- 1.fork主倉(cāng)庫(kù)
- 2.Fork后的倉(cāng)庫(kù)克隆到你的電腦
- 3.創(chuàng)建功能/特性分支
- 4.將更改提交到特性分支
- 5.將特性分支推到你fork的倉(cāng)庫(kù)
- 6.針對(duì)主倉(cāng)庫(kù)提出Pull Request(PR)
- 7.處理評(píng)論并合并PR
- 8.將主存儲(chǔ)庫(kù)作為上游添加到克隆倉(cāng)庫(kù)中
- 9.從上游更新你的master分支
- 10.將主分支push到你的fork倉(cāng)庫(kù)
- (可選)刪除特性分支
- 最后
貢獻(xiàn)的生命周期(步驟)
1.fork主倉(cāng)庫(kù)
fork主倉(cāng)庫(kù)會(huì)在你的帳戶中創(chuàng)建一個(gè)副本。你可以進(jìn)行更改并將任何代碼推送到此fork,而不必?fù)?dān)心會(huì)弄亂原始代碼庫(kù)。單擊頁(yè)面頂部的fork按鈕以創(chuàng)建一個(gè)新的fork。
Fork后的版本庫(kù)現(xiàn)在可以在你的賬戶中的“Repositories”部分找到。
2.Fork后的倉(cāng)庫(kù)克隆到你的電腦
Fork后的倉(cāng)庫(kù)克隆到電腦上,這樣我們就有了代碼的本地副本。單擊Fork后的倉(cāng)庫(kù)的SSH或HTTPS URL旁邊的剪貼板圖標(biāo)來(lái)復(fù)制它。
現(xiàn)在在你的電腦上打開一個(gè)終端,然后運(yùn)行以下命令來(lái)克隆fork的倉(cāng)庫(kù):
- git clone [email protected]:theawesomenayak/guava.git
3.創(chuàng)建功能/特性分支
在對(duì)代碼進(jìn)行任何修改時(shí),最好的做法是為我們需要進(jìn)行的修改創(chuàng)建一個(gè)新的特性分支。這樣可以確保我們保持master分支的整潔,并且能夠在必要時(shí)簡(jiǎn)單地還原我們的代碼或進(jìn)行更新。
切換到克隆分支倉(cāng)庫(kù)后創(chuàng)建的目錄:
- cd guava
創(chuàng)建一個(gè)新特性分支,其名稱可以標(biāo)識(shí)你計(jì)劃進(jìn)行的更改。例如:
- git checkout -b fix-npe-issue
4.將更改提交到特性分支
如果你在更改中創(chuàng)建了任何新文件,則需要將其添加到剛創(chuàng)建的分支中。
- git add
對(duì)于所做的所有更改,你必須將它們提交到分支。確保添加有效的提交消息(根據(jù)項(xiàng)目的約定):
- git commit -m "Fixed the NPE issue due to a null key used in cache"
5.將特性分支推到你fork的倉(cāng)庫(kù)
現(xiàn)在是時(shí)候?qū)⒛愕奶峤煌扑偷絝ork的倉(cāng)庫(kù)中了:
- git push origin fix-npe-issue
6.針對(duì)主倉(cāng)庫(kù)提出Pull Request(PR)
將代碼推送到fork后的倉(cāng)庫(kù)后,就可以針對(duì)主倉(cāng)庫(kù)提交PR了。單擊“Pull Request”按鈕以啟動(dòng)新的PR。
這將帶你進(jìn)入一個(gè)畫面,在這個(gè)畫面上,你的fork版本庫(kù)中的變化將與主版本庫(kù)中的代碼進(jìn)行比較。你可以在提交更改之前查看更改并提供有效的更改描述。
7.處理評(píng)論并合并PR
代碼維護(hù)人員通常會(huì)針對(duì)你所做的更改返回某些評(píng)論,這可以是功能上的改變,也可以是修飾性的改變,比如格式等等。一旦你做出了這些更改,只需將它們推到你的分支,PR就會(huì)自動(dòng)更新。
一旦你的修改沒(méi)有什么不妥的話,維護(hù)人員將把它們合并到主倉(cāng)庫(kù)中。恭喜你!!你現(xiàn)在正式成為一名開源貢獻(xiàn)者了。
8.將主存儲(chǔ)庫(kù)作為上游添加到克隆倉(cāng)庫(kù)中
除了你之外,許多其他開發(fā)人員還一直將其代碼合并到主存儲(chǔ)庫(kù)中,我們需要與它的分支庫(kù)連續(xù)進(jìn)行同步,以獲取最新的代碼。
你克隆的存儲(chǔ)庫(kù)已鏈接到fork后倉(cāng)庫(kù)了,為了使fork的倉(cāng)庫(kù)與主倉(cāng)庫(kù)保持同步,你需要通過(guò)在克隆的倉(cāng)庫(kù)中添加主倉(cāng)庫(kù)作為上游(upstream)來(lái)連接它們。
- git remote add upstream [email protected]:google/guava.git
使用以下命令驗(yàn)證上游設(shè)置是否正確:
- git remote -v
它應(yīng)該顯示以下值,以確認(rèn)源和上游指向正確的倉(cāng)庫(kù):
- origin [email protected]:theawesomenayak/guava.git (fetch)
- origin [email protected]:theawesomenayak/guava.git (push)
- upstream [email protected]:google/guava.git (fetch)
- upstream [email protected]:google/guava.git (push)
9.從上游更新你的master分支
設(shè)置上游后,你可以提取其他開發(fā)人員在主倉(cāng)庫(kù)中所做的更改,這將更新本地計(jì)算機(jī)上的克隆倉(cāng)庫(kù):
- git pull upstream master
10.將主分支push到你的fork倉(cāng)庫(kù)
一旦你在你的本地機(jī)器上有了所有的更新,你將需要把它們推送到你的fork后的倉(cāng)庫(kù)中,使其與主倉(cāng)庫(kù)同步。
- git push origin master
(可選)刪除特性分支
特性合并到主倉(cāng)庫(kù)后,便不再需要它,可以將其刪除:
- git branch -d fix-npe-issue
你還可以從fork的倉(cāng)庫(kù)中刪除遠(yuǎn)程分支:
- git push origin --delete fix-npe-issue
最后為GitHub項(xiàng)目做貢獻(xiàn)可能會(huì)很棘手,這取決于有多少開發(fā)人員同時(shí)在做。希望這篇文章能為你掃清GitHub貢獻(xiàn)的流程,讓你的開發(fā)周期變得更簡(jiǎn)單一些。
本文轉(zhuǎn)載自微信公眾號(hào)「前端全棧開發(fā)者」,可以通過(guò)以下二維碼關(guān)注。轉(zhuǎn)載本文請(qǐng)聯(lián)系前端全棧開發(fā)者公眾號(hào)。
分享名稱:為開源項(xiàng)目做貢獻(xiàn)的10個(gè)步驟
網(wǎng)頁(yè)URL:http://fisionsoft.com.cn/article/cdpgdco.html


咨詢
建站咨詢
