軟件團(tuán)隊(duì)由廣泛的專業(yè)人員組成,從軟件工程師、數(shù)據(jù)科學(xué)家到項(xiàng)目經(jīng)理和技術(shù)作家。在處理項(xiàng)目時(shí),與其他團(tuán)隊(duì)成員共享代碼很常見(jiàn),跟蹤所有更改很重要。這就是拉取請(qǐng)求的來(lái)源。
在軟件開(kāi)發(fā)中,拉取請(qǐng)求用于將本地更改推送到共享存儲(chǔ)庫(kù)中(圖 1 )。這是一種在將批準(zhǔn)的更新推送到中央服務(wù)器之前向其他合作者請(qǐng)求代碼審查的方法。這有助于維護(hù)版本控制。
這篇文章討論了拉請(qǐng)求的好處,并分享了在處理軟件項(xiàng)目時(shí)創(chuàng)建和處理拉請(qǐng)求的技巧。使用這些信息,您將能夠更好地與許多合作者合作進(jìn)行重大項(xiàng)目。
拉取請(qǐng)求的步驟
要?jiǎng)?chuàng)建拉取請(qǐng)求,請(qǐng)執(zhí)行以下步驟。
使用以下命令創(chuàng)建一個(gè)新的 git 分支以在本地工作:
git -b BRANCH_NAME
使用以下命令實(shí)現(xiàn)更改并頻繁推送它們(以便它們不會(huì)丟失):
git add NAME_OF_THE_FILE
git commit -m "DESCRIBE YOUR RECENT CHANGES"
完成實(shí)施并在本地提交更改后,應(yīng)該從共享存儲(chǔ)庫(kù)中獲取最新的更改,以確保沒(méi)有沖突的更改。您可以使用以下命令獲取最新的更改:
git pull origin BRANCH_NAME
使用以下命令將更改推送到遠(yuǎn)程存儲(chǔ)庫(kù):
git push --set-upstream-to origin REMOTE_BRANCH_NAME
導(dǎo)航到共享存儲(chǔ)庫(kù)所在平臺(tái)的用戶界面( GitLab 、 GitHub 、 BitBucket )。在那里,您需要寫(xiě)下拉取請(qǐng)求的名稱和簡(jiǎn)短描述。您還可以選擇將其分配給團(tuán)隊(duì)中的某個(gè)人進(jìn)行審閱。
有關(guān)拉取請(qǐng)求的更詳細(xì)介紹,請(qǐng)參見(jiàn) Making a Pull Request 。
使用拉取請(qǐng)求的主要好處
無(wú)論您是在項(xiàng)目的前端還是后端工作,在與團(tuán)隊(duì)合作時(shí),拉取請(qǐng)求都有助于代碼審查過(guò)程。本節(jié)詳細(xì)介紹了在工作中使用 pull 請(qǐng)求的主要好處。
促進(jìn)協(xié)作
當(dāng)談到協(xié)作時(shí),有一些事情可以造就或破壞團(tuán)隊(duì)。其中之一就是能夠一起工作,即使成員負(fù)責(zé)項(xiàng)目的不同部分。
使用拉取請(qǐng)求,可以在不影響其他人工作的情況下進(jìn)行更改。它們是從團(tuán)隊(duì)成員那里收集技巧或代碼改進(jìn)的好方法。
如果您對(duì)代碼更改不確定,請(qǐng)?zhí)峤焕≌?qǐng)求以獲得反饋。其他團(tuán)隊(duì)成員可能有您沒(méi)有考慮的建議,這可以幫助您更好地決定代碼。
在任何項(xiàng)目中,讓經(jīng)驗(yàn)豐富的工程師審查、接受或拒絕更改都很重要,因?yàn)槟赡軙?huì)錯(cuò)過(guò)一些他們可以從新的角度看到的東西。
然而,當(dāng)多個(gè)團(tuán)隊(duì)成員向項(xiàng)目代碼庫(kù)提交更改時(shí),避免瓶頸同樣重要。對(duì)于那些處理拉取請(qǐng)求的人來(lái)說(shuō),為預(yù)期的審查時(shí)間設(shè)定期望值至關(guān)重要。這確保了項(xiàng)目繼續(xù)向前推進(jìn)。
更快地構(gòu)建功能
Pull 請(qǐng)求是一個(gè)強(qiáng)大的工具,可以幫助團(tuán)隊(duì)更快地構(gòu)建功能。因?yàn)槔≌?qǐng)求可以在添加注釋的情況下進(jìn)行審查,所以它們提供了溝通代碼更改的極好方式。
首先,它們使開(kāi)發(fā)人員能夠向項(xiàng)目提交更改,而無(wú)需等待項(xiàng)目維護(hù)人員合并更改。這使團(tuán)隊(duì)成員能夠并行處理代碼更改,從而加快開(kāi)發(fā)速度。
第二,可以審查拉取請(qǐng)求并添加評(píng)論。審查拉取請(qǐng)求的開(kāi)發(fā)人員可能需要提出問(wèn)題或澄清潛在錯(cuò)誤。您還可以使用注釋共享資源。
第三,可以合并拉取請(qǐng)求,以便在構(gòu)建新功能時(shí)可以快速、輕松地將更改集成到項(xiàng)目中。
減少與添加新代碼相關(guān)的風(fēng)險(xiǎn)
毫無(wú)疑問(wèn),編程代碼有一定程度的風(fēng)險(xiǎn)。畢竟,每次向代碼庫(kù)添加新內(nèi)容時(shí),都可能會(huì)引入影響最終用戶的新 bug 和漏洞。
在拉取請(qǐng)求合并到主代碼庫(kù)之前,其他團(tuán)隊(duì)成員有機(jī)會(huì)審查更改,以確保符合團(tuán)隊(duì)的編碼標(biāo)準(zhǔn)。 bug 和錯(cuò)誤可以在導(dǎo)致實(shí)時(shí)代碼中出現(xiàn)任何問(wèn)題之前解決。
使用 pull 請(qǐng)求,您可以隨時(shí)回滾到以前的版本,以防出現(xiàn)問(wèn)題。拉取請(qǐng)求成為您的安全網(wǎng)。
提高代碼質(zhì)量和性能
當(dāng)您創(chuàng)建一個(gè)拉取請(qǐng)求時(shí),您實(shí)際上是在要求其他人審查您的代碼并給出反饋。通過(guò)讓同事參與進(jìn)來(lái),您可以根據(jù)反饋提高代碼的質(zhì)量。
您可以通過(guò)在拉取請(qǐng)求的描述部分中編寫(xiě)描述性提交消息和解釋來(lái)幫助審閱者理解您的更改。
如果你做出了別人不同意的改變,你也可以避免潛在的問(wèn)題。他們可以簡(jiǎn)單地對(duì)您的拉取請(qǐng)求提出問(wèn)題。這讓您有機(jī)會(huì)在問(wèn)題變得更大之前解決問(wèn)題。這是一種提高代碼質(zhì)量的強(qiáng)大方法。
要點(diǎn)
通過(guò)拉取請(qǐng)求維護(hù)版本控制對(duì)于軟件團(tuán)隊(duì)來(lái)說(shuō)非常重要。這種方法使團(tuán)隊(duì)成員能夠在跟蹤和管理軟件系統(tǒng)更改的同時(shí)進(jìn)行協(xié)作。通過(guò)使用拉取請(qǐng)求,團(tuán)隊(duì)可以同時(shí)處理系統(tǒng)的不同部分,然后輕松地將其更改合并在一起。這可以提高團(tuán)隊(duì)效率并防止沖突。
如果正確使用,拉取請(qǐng)求提供了一種清晰、簡(jiǎn)潔的方式來(lái)查看對(duì)代碼或文件所做的更改,從而促進(jìn)了討論和反饋。
拉動(dòng)請(qǐng)求的重要性怎么強(qiáng)調(diào)都不為過(guò)。它們是軟件開(kāi)發(fā)過(guò)程的重要組成部分,有助于確保相關(guān)方在將代碼更改合并到主代碼庫(kù)之前對(duì)其進(jìn)行審查。這有助于避免可能導(dǎo)致嚴(yán)重問(wèn)題的錯(cuò)誤和其他問(wèn)題。
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5069瀏覽量
103476 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9280瀏覽量
85838 -
AI
+關(guān)注
關(guān)注
87文章
31402瀏覽量
269814
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論