Vad är Git Pull-begäranden och hur använder du dem?

0
234

Pull Requests är en funktion i online-git-tjänster som Github och Gitlab. De tillåter vem som helst att begära att ändringar ska läggas till, även om de inte har tillgång till förvaret. Vi diskuterar hur de fungerar och hur man använder dem för öppen källkodssamarbete.

Vad gör en Pull-begäran?

Trots hur det kan verka är git som ett verktyg ett helt decentraliserat system. Vad det betyder är att förvaret på Github.com och förvaret på din lokala maskin inte skiljer sig från varandra. Du ansluter inte till Github för att arbeta på ett förråd, du kopierar koden från Github till ditt lokala förvar och arbetar på den där.

När du vill trycka på ändringar kan du göra åtaganden och köra git push, skicka dina uppdateringar till en viss & # 8220; fjärrkontroll, & # 8221; vilket kan vara vilket annat Git-arkiv som helst, men vanligtvis är en webbhotellstjänst som Github, Bitbucket eller Gitlab. Detta uppdaterar fjärrförvaret så att det är synkroniserat med ditt repo.

Detta fungerar dock bara när du har tillstånd att trycka på kommit, vanligtvis konfigurerat med ett lösenord eller SSH-nyckel. Detta ges endast till medlemmar i organisationen som kontrollerar repo, annars skulle alla kunna förändra Git-historien. Om du inte är medlem i organisationen, vad ska du göra när du vill göra ändringar?

Tja, det finns ett andra sätt att ett Git-arkiv kan uppdateras & # 8212 ; git pull. Du gör det förmodligen mycket när dina kollegor gör ändringar som blir pressade. I så fall drar du ner åtaganden från fjärrförvaret och synkroniserar det med ditt lokala repo.

Annons

Men Git är decentraliserat, så det finns egentligen ingen skillnad mellan din repo och fjärrrepan. Du kan faktiskt köra git pull i omvänd riktning från servern, och det här är hjärtat i det som gör att pull-begäranden fungerar.

En pull-begäran är bara att du säger till fjärrservern (och de personer som underhåller den) att du har några uppdaterade åtaganden som du vill att de ska se över och integrera med fjärrförvaret. Om de accepterar ändringarna kommer fjärrkontrollen att köra git pull mot din lokala förvaring och integrera koden utan att du någonsin behöver ha en SSH-nyckel behörig att göra det.

Ryggraden i öppen källkodssamarbete

Pull-förfrågningar används ständigt för öppen källkodsbibliotek. Trots allt är mycket av anledningen till öppen källkod att alla utvecklare kan bidra till projektet om deras kod är användbar.

Pull-förfrågningar är det som får det att fungera. Projektets underhållare, administratörerna som kontrollerar det, är de som vanligtvis granskar pull-förfrågningar och bestämmer om koden ska integreras eller inte, eller om vissa buggar måste åtgärdas innan den är klar.

Pull-förfrågningar är inte precis en egenskap hos git, så den exakta implementeringen av dem varierar beroende på tjänsten. Men för Github hittar du pull-förfrågningar i menyfältet i ett arkiv, som visar en lista över öppna och stängda förfrågningar som du kan filtrera igenom.

Om du klickar på någon av dem kan du se kommentarerna från den som begär det, liksom de åtaganden som är kopplade till det.

Annons

Om du är ansvarig för förvaret kan du granska och slå samman begäran. Eller om du har problem med det måste du diskutera kan du lämna en kommentar och arbeta på koden tillsammans. Detta är en stor anledning till att offentliga utrymmen som Github är utmärkta för öppen källkodssamarbete, till och med något så enkelt som att ändra ordalydelsen i dokumentationen kan göras tillsammans av alla.

Pull-begäranden skiljer sig från problem. Problemspårning är en funktion i många tjänster som Github som gör det enkelt att fixa fel och offentligt samarbete för nya funktioner. I huvudsak har varje nummer ett ämne som kan diskuteras av underhållarna och samhället. Till exempel är dotnet/csharplang den officiella repo för diskussion kring hur C # som programmeringsspråk är utformat. Om du går till problemen hittar du många människor som diskuterar begrepp för framtida iterationer av språket:

Inte alla problem leder till dragförfrågningar. Om problemet åtgärdas av underhållaren spelar det ingen roll. Om problemet åtgärdas av en samarbetspartner måste de skicka en begäran om att dra.

Alla dragförfrågningar nekas antingen eller leder direkt till kodändringar i förvaret. Frågor är bara ett sätt att spåra utvecklingen och vilka buggar som behöver åtgärdas.

Att göra pull-begäranden

Återigen, den exakta steg för detta kommer att variera beroende på vilken tjänst du använder, men det mesta samarbetet med öppen källkod sker på Github, så vi visar stegen för det.

Gå till förvaret du vill göra en begäran om och klicka på & # 8220; Ny dragförfrågan & # 8221; under fliken Pull Requests:

Annons

Du har två alternativ här. Om du är medlem i förvaret och vill slå samman din funktionsfilial i huvudgrenen kan du välja de två grenarna.

Om du arbetar med en öppen källkod Förvaret måste du dela upp repot och skicka det till Github för ditt eget konto. Sedan kan du välja & # 8220; jämför över gafflar & # 8221; att slå samman din huvudfilial till deras huvudfilial.

En gång gjort kommer dragbegäran att vara öppen för diskussion och du måste helt enkelt vänta med att höra tillbaka från underhållarna.

Under tiden kan du kontrollera statusen för alla pull-förfrågningar som du deltar i & # 8220; Pull-begäranden & # 8221; fliken i huvudraden.