Git Basics - Arbeta med fjärrlager. Git Basics - Arbeta med fjärrstyrda Git-förråd ladda ner en gren från ett förråd



Hur laddar man ner en filial från git? (4)

Git-klon och cd i reponamn:

$ git-klon https://github.com/PabloEzequiel/iOS-AppleWach.git Kloning till "iOS-AppleWach"... $ cd iOS-AppleWach

Gå till grenen (GitHub-sidan) jag vill ha:

$ git checkout -b gh-pages ursprung/gh-sidor Gren gh-sidor inställda för att spåra fjärrgren gh-sidor från ursprung. Bytte till en ny gren "gh-pages"

Och dra grenen:

$ git pull Redan uppdaterad.

$ ls index.html params.json-formatmallar

Jag har ett projekt på github. Jag skapade en filial på en maskin och skickade sedan mina ändringar till github med

Git push ursprung grennamn

Nu sitter jag på en annan dator och vill ladda ner den här grenen. Så jag försökte:

Git pull ursprung grennamn

Men allt detta innebar att jag skrev om min mastergren med förändringarna i min nya gren.

Vad behöver jag göra för att dra min fjärrgren korrekt?

$ git klon https://github.com/lukeredpath/LRResty.git $ cd LRResty

Kontrollera vilken gren du använder för närvarande (det bör vara huvudgrenen):

$ git branch *master

Kolla in grenen du vill ha, i mitt fall heter den "arcified":

$ git checkout -b arcified origin/arcified Branch arcified inställd för att spåra fjärrgren arcified från ursprung. Bytte till en ny gren "arcified"

Bekräfta att du är på den filial du vill ha:

$ git branch * arcified master

Om du vill uppdatera koden senare, kör git pull:

$ git pull Redan uppdaterad.

Navigera till mappen på den nya maskinen som du vill ladda ner från git till git bash.

Använd kommandot nedan för att ladda ner kod från vilken bransch du vill

git klon "git ssh url" -b "Branch Name"

Den kommer att ladda ner motsvarande filialkod.

För att kunna samarbeta i vilket Git-projekt som helst måste du veta hur du hanterar fjärrlager. Fjärrlager är projektändringar som lagras på Internet eller någon annanstans i nätverket. Det kan finnas flera av dem, som var och en som regel är antingen skrivskyddad eller läs-skriv tillgänglig för dig. Samarbete inkluderar hantering av fjärrlager och rum ( skjuta på) Och tar emot ( dra) data in och ut ur dem när det är nödvändigt att utbyta resultaten av arbetet. Hantera fjärrlager inkluderar möjligheten att lägga till fjärrlager, ta bort de som inte längre är aktiva, möjligheten att hantera olika fjärrförgreningar och avgöra om de spåras (spåras) eller inte, och så vidare. Det här avsnittet täcker alla listade färdigheter för att hantera fjärrlager.

För att bryta ner exemplen i det här kapitlet skapade jag ett fjärrförråd för TestRemote på GitHub och klonade det sedan själv.

Visar fjärrlager

För att se vilka fjärrservrar du redan har konfigurerat, kör kommandot git fjärrkontroll. Den räknar upp en lista med förkortningar för alla redan specificerade fjärrbeskrivningar. Om du har klonat ditt arkiv bör du åtminstone se ursprung, vilket är standardnamnet som Git tilldelar servern du klonade från:

För att se vilken URL som ett Git-kortnamn motsvarar kan du ge kommandot alternativet -v:

Lägger till fjärrlager

För att lägga till ett nytt Git-repository med ett förkortat namn som är lättare att komma åt, kör git remote add [förkortning]:

Nu kan du använda namnet på kommandoraden tr istället för hela webbadressen.

Till exempel gjorde jag några ändringar i filen README.md och nu laddar vi upp dem till vårt lokala arkiv med kommandot git hämta:

Nu är changeset-grenen från servern tillgänglig lokalt som tr/mater. Du kan slå ihop den till en av dina grenar, eller kolla in den grenen om du vill kolla in den.

Det bör här noteras att mellan git-pull Och git hämta det är skillnad, men mer om det senare.

För tillfället, om vi tittar på innehållet i filen README.md i arbetskatalogen, kommer det att vara exakt samma som det var innan git fetch-kommandot. Detta beror på att vi för närvarande befinner oss i huvudgrenen av det lokala förvaret, vilket inte har ändrats.

För att se alla befintliga grenar kan du utfärda kommandot git gren med nyckel -a, som visar alla grenar av förvaret.

Här är den aktiva grenen markerad med en asterisk. Och vi ser också grenen som vi drog med laget git hämtaär fjärrkontrollerna/tr/master-grenen. Egentligen om detta till oss laget git hämta och rapporteras efter avslutad.

Du kan byta till en gren med kommandot git kassan <имя ветки>

Och så bytte vi till grenen som vi drog med git fetch-kommandot, som vi fick ett meddelande om och berättade vilka filer som uppdaterades. Det här är filen README.md. Nu i arbetskatalogen kan vi se det modifierade innehållet i denna fil (vi ändrade det direkt på GitHub).

Vi kan också byta tillbaka till vår mastergren

Låt oss nu titta på skillnaden mellan hämta Och dra.

Hämta och dra

Som du nyss lärde dig, för att få data från fjärrprojekt, kör:

$ git hämta[fjärrnamn] servrar]

Detta kommando är associerat med det angivna fjärrprojektet och tar all projektdata som du inte har ännu. Efter att du har utfört kommandot bör du ha länkar till alla grenar från detta fjärrprojekt. Nu kan dessa grenar ses eller slås samman (sammanslagna) när som helst.

När du klona ett arkiv, team klona lägger automatiskt till detta fjärrlager under namnet ursprung . Således, git hämta ursprung hämtar allt inskickat arbete ( skjuta på) till den servern efter att du har klonat den (eller hämtat ändringar med hämta) . Det är viktigt att notera det team hämta drar in data till ditt lokala arkiv, men slår inte ihop (sammanfogar) det med något av ditt arbete och ändrar inte det du för närvarande arbetar med . Du måste manuellt slå samman denna data med din när du är redo.

Om du har en gren konfigurerad för att spåra en fjärrgren kan du använda kommandot git-pull. Hon hämtar automatiskt och slår sedan samman (sammanfogar) data från fjärrgrenen till din nuvarande gren. Denna metod kan vara enklare eller bekvämare för dig. Förutom standardkommando git klon automatiskt konfigurerar din lokala filial bemästra för att spåra en avlägsen gren bemästra på servern, som du klonade från (förutsatt att det finns en huvudgren på fjärrservern). Prestanda git-pull, vanligtvis extrakt ( hämta) data från servern, som du ursprungligen klonade från, och automatiskt försöker slå samman (sammanfoga) ( sammanfoga) dem med koden du för närvarande arbetar med.

$ git push origin master

Detta kommando fungerar bara om du klonat från en server där du har skrivbehörighet och ingen annan har kört kommandot sedan skjuta på. Om du och någon annan klonar samtidigt, så utför han kommandot skjuta på och sedan kommandot skjuta på du gör, sedan din skjuta på kommer definitivt att avvisas. Du måste först rita ( dra) sina ändringar och slå samman dem med dina. Först då får du avrätta skjuta på .

Jag drog och slog ihop ändringarna för filen README.md och skickade dem sedan till GitHub-servern. Skärmdumpen är bara för information så att du kan se hur det går till.

Mer information om hur du skickar skjuta på) kommer vi att överväga data till en fjärrserver lite senare.

Fjärrförvarsinspektion

Om du vill få mer information om en av fjärrlagringarna kan du använda kommandot git remote show [fjärr server]. Om du kör det här kommandot med något namn som ursprung, kommer du att få något så här:

Det ger webbadressen till fjärrförvaret, samt information om grenarna som spåras. Detta kommando informerar dig vänligt att om du är på en gren bemästra, gör git-pull, gren bemästra från en fjärrserver kommer automatiskt att slås samman med din omedelbart efter att ha mottagit all nödvändig data. Den returnerar också en lista över alla länkar den har fått.

Detta kommando är också visar vilken lokal gren som kommer att skickas till fjärrservern standard genom att göra git push . Den visar också vilka grenar från fjärrservern du inte har ännu, vilka grenar du fortfarande har men som redan har tagits bort på servern.

Ta bort och byta namn på fjärrlager

För att byta namn på länkar i nya versioner av Git kan du köra git fjärrbyte namn, kommer detta att ändra det korta namnet som används för fjärrförvaret. Om du till exempel vill byta namn på tr till tstrmt kan du göra det så här:

Det är värt att nämna att detta också ändrar namn på fjärrgrenar för dig. Det du fick tillgång till som tr/master blev tstrmt/master.

Om du av någon anledning vill ta bort länken (du har bytt server eller inte längre använder en viss spegel, eller kanske bidragsgivaren inte längre är aktiv) kan du använda git fjärrkontroll rm:



Hur laddar man ner en filial från git? (4)

Jag har ett projekt på github. Jag skapade en filial på en maskin och skickade sedan mina ändringar till github med

Git push ursprung grennamn

Nu sitter jag på en annan dator och vill ladda ner den här grenen. Så jag försökte:

Git pull ursprung grennamn

Men allt detta innebar att jag skrev om min mastergren med förändringarna i min nya gren.

Vad behöver jag göra för att dra min fjärrgren korrekt?

Git-klon och cd i reponamn:

$ git-klon https://github.com/PabloEzequiel/iOS-AppleWach.git Kloning till "iOS-AppleWach"... $ cd iOS-AppleWach

Gå till grenen (GitHub-sidan) jag vill ha:

$ git checkout -b gh-pages ursprung/gh-sidor Gren gh-sidor inställda för att spåra fjärrgren gh-sidor från ursprung. Bytte till en ny gren "gh-pages"

Och dra grenen:

$ git pull Redan uppdaterad.

$ ls index.html params.json-formatmallar

$ git klon https://github.com/lukeredpath/LRResty.git $ cd LRResty

Kontrollera vilken gren du använder för närvarande (det bör vara huvudgrenen):

$ git branch *master

Kolla in grenen du vill ha, i mitt fall heter den "arcified":

$ git checkout -b arcified origin/arcified Branch arcified inställd för att spåra fjärrgren arcified från ursprung. Bytte till en ny gren "arcified"

Bekräfta att du är på den filial du vill ha:

$ git branch * arcified master

Om du vill uppdatera koden senare, kör git pull:

$ git pull Redan uppdaterad.

Navigera till mappen på den nya maskinen som du vill ladda ner från git till git bash.

Använd kommandot nedan för att ladda ner kod från vilken bransch du vill

git klon "git ssh url" -b "Branch Name"

Den kommer att ladda ner motsvarande filialkod.

För att kunna samarbeta i vilket Git-projekt som helst måste du veta hur du hanterar fjärrlager. Fjärrlager är projektändringar som lagras på Internet eller någon annanstans i nätverket. Det kan finnas flera av dem, som var och en som regel är antingen skrivskyddad eller läs-skriv tillgänglig för dig. Samarbete inkluderar hantering av fjärrlager och rum ( skjuta på) Och tar emot ( dra) data in och ut ur dem när det är nödvändigt att utbyta resultaten av arbetet. Hantera fjärrlager inkluderar möjligheten att lägga till fjärrlager, ta bort de som inte längre är aktiva, möjligheten att hantera olika fjärrförgreningar och avgöra om de spåras (spåras) eller inte, och så vidare. Det här avsnittet täcker alla listade färdigheter för att hantera fjärrlager.

För att bryta ner exemplen i det här kapitlet skapade jag ett fjärrförråd för TestRemote på GitHub och klonade det sedan själv.

Visar fjärrlager

För att se vilka fjärrservrar du redan har konfigurerat, kör kommandot git fjärrkontroll. Den räknar upp en lista med förkortningar för alla redan specificerade fjärrbeskrivningar. Om du har klonat ditt arkiv bör du åtminstone se ursprung, vilket är standardnamnet som Git tilldelar servern du klonade från:

För att se vilken URL som ett Git-kortnamn motsvarar kan du ge kommandot alternativet -v:

Lägger till fjärrlager

För att lägga till ett nytt Git-repository med ett förkortat namn som är lättare att komma åt, kör git remote add [förkortning]:

Nu kan du använda namnet på kommandoraden tr istället för hela webbadressen.

Till exempel gjorde jag några ändringar i filen README.md och nu laddar vi upp dem till vårt lokala arkiv med kommandot git hämta:

Nu är changeset-grenen från servern tillgänglig lokalt som tr/mater. Du kan slå ihop den till en av dina grenar, eller kolla in den grenen om du vill kolla in den.

Det bör här noteras att mellan git-pull Och git hämta det är skillnad, men mer om det senare.

För tillfället, om vi tittar på innehållet i filen README.md i arbetskatalogen, kommer det att vara exakt samma som det var innan git fetch-kommandot. Detta beror på att vi för närvarande befinner oss i huvudgrenen av det lokala förvaret, vilket inte har ändrats.

För att se alla befintliga grenar kan du utfärda kommandot git gren med nyckel -a, som visar alla grenar av förvaret.

Här är den aktiva grenen markerad med en asterisk. Och vi ser också grenen som vi drog med laget git hämtaär fjärrkontrollerna/tr/master-grenen. Egentligen om detta till oss laget git hämta och rapporteras efter avslutad.

Du kan byta till en gren med kommandot git kassan <имя ветки>

Och så bytte vi till grenen som vi drog med git fetch-kommandot, som vi fick ett meddelande om och berättade vilka filer som uppdaterades. Det här är filen README.md. Nu i arbetskatalogen kan vi se det modifierade innehållet i denna fil (vi ändrade det direkt på GitHub).

Vi kan också byta tillbaka till vår mastergren

Låt oss nu titta på skillnaden mellan hämta Och dra.

Hämta och dra

Som du nyss lärde dig, för att få data från fjärrprojekt, kör:

$ git hämta[fjärrnamn] servrar]

Detta kommando är associerat med det angivna fjärrprojektet och tar all projektdata som du inte har ännu. Efter att du har utfört kommandot bör du ha länkar till alla grenar från detta fjärrprojekt. Nu kan dessa grenar ses eller slås samman (sammanslagna) när som helst.

När du klona ett arkiv, team klona lägger automatiskt till detta fjärrlager under namnet ursprung . Således, git hämta ursprung hämtar allt inskickat arbete ( skjuta på) till den servern efter att du har klonat den (eller hämtat ändringar med hämta) . Det är viktigt att notera det team hämta drar in data till ditt lokala arkiv, men slår inte ihop (sammanfogar) det med något av ditt arbete och ändrar inte det du för närvarande arbetar med . Du måste manuellt slå samman denna data med din när du är redo.

Om du har en gren konfigurerad för att spåra en fjärrgren kan du använda kommandot git-pull. Hon hämtar automatiskt och slår sedan samman (sammanfogar) data från fjärrgrenen till din nuvarande gren. Denna metod kan vara enklare eller bekvämare för dig. Förutom standardkommando git klon automatiskt konfigurerar din lokala filial bemästra för att spåra en avlägsen gren bemästra på servern, som du klonade från (förutsatt att det finns en huvudgren på fjärrservern). Prestanda git-pull, vanligtvis extrakt ( hämta) data från servern, som du ursprungligen klonade från, och automatiskt försöker slå samman (sammanfoga) ( sammanfoga) dem med koden du för närvarande arbetar med.

$ git push origin master

Detta kommando fungerar bara om du klonat från en server där du har skrivbehörighet och ingen annan har kört kommandot sedan skjuta på. Om du och någon annan klonar samtidigt, så utför han kommandot skjuta på och sedan kommandot skjuta på du gör, sedan din skjuta på kommer definitivt att avvisas. Du måste först rita ( dra) sina ändringar och slå samman dem med dina. Först då får du avrätta skjuta på .

Jag drog och slog ihop ändringarna för filen README.md och skickade dem sedan till GitHub-servern. Skärmdumpen är bara för information så att du kan se hur det går till.

Mer information om hur du skickar skjuta på) kommer vi att överväga data till en fjärrserver lite senare.

Fjärrförvarsinspektion

Om du vill få mer information om en av fjärrlagringarna kan du använda kommandot git remote show [fjärr server]. Om du kör det här kommandot med något namn som ursprung, kommer du att få något så här:

Det ger webbadressen till fjärrförvaret, samt information om grenarna som spåras. Detta kommando informerar dig vänligt att om du är på en gren bemästra, gör git-pull, gren bemästra från en fjärrserver kommer automatiskt att slås samman med din omedelbart efter att ha mottagit all nödvändig data. Den returnerar också en lista över alla länkar den har fått.

Detta kommando är också visar vilken lokal gren som kommer att skickas till fjärrservern standard genom att göra git push . Den visar också vilka grenar från fjärrservern du inte har ännu, vilka grenar du fortfarande har men som redan har tagits bort på servern.

Ta bort och byta namn på fjärrlager

För att byta namn på länkar i nya versioner av Git kan du köra git fjärrbyte namn, kommer detta att ändra det korta namnet som används för fjärrförvaret. Om du till exempel vill byta namn på tr till tstrmt kan du göra det så här:

Det är värt att nämna att detta också ändrar namn på fjärrgrenar för dig. Det du fick tillgång till som tr/master blev tstrmt/master.

Om du av någon anledning vill ta bort länken (du har bytt server eller inte längre använder en viss spegel, eller kanske bidragsgivaren inte längre är aktiv) kan du använda git fjärrkontroll rm:

// echo get_the_post_thumbnail(get_the_ID(), "relatedthumbnail"); // visar min miniatyrstorlek?>

Ibland när vi arbetar med en lokal och fjärransluten filial måste vi ta bort dem. Till exempel, denna gren av en separat funktionalitet som redan har slagits samman till utveckla eller master. Eller är det en gren för att fixa buggar. Låt oss se hur du enkelt och snabbt kan ta bort lokala (lokala) och fjärranslutna (fjärr) filialer.

Snabbsvar - Slutlig sammanfattning

$ git push -d $ git branch -d

Observera att i de flesta fall skrivs fjärrförvaret som ursprung.

Ta bort lokalavdelningen

Att radera lokal branch, använd ett av följande kommandon:

$ git branch -D branch_name $ git branch -D branch_name

Förklaring:-d-växeln är en genväg till kommandot --delete, som bara tar bort en gren om den senare är helt sammanfogad med sin uppströmsgren. Du kan också använda kommandot -D, som är ett alias till kommandot --delete --force, som tar bort grenen "oavsett dess sammanfogningsstatus" (oavsett om du slog ihop den med upsream-grenen eller inte).

Ta bort en fjärrgren

I Git version v1.7.0 kan du ta bort avlägsen gren med hjälp av

$ git push --radera

vilket förmodligen är lättare att komma ihåg än kommandot

$ git push :

som lades till i Git v1.5.0 "för att ta bort en fjärrgren eller tagg."

Sedan Git v2.8.0 kan du också använda git push med alternativet -d som en genväg istället för --delete .

Dessutom kommer versionen av git du har installerat att avgöra vilken syntax som ska användas, om det är enklare eller mer komplext.

Ta bort fjärrgren

Citat från bokens tredje kapitel Pro Git Scott Chacon:

Ta bort fjärrgrenar

Jag antar att du är klar med arbetet på den fjärranslutna grenen, du och din personal är klara med den nya funktionen och har slagit ihop den i din mster-gren på fjärrförvaret. Du kan ta bort en fjärrgren med den ganska trubbiga git push : syntaxen. Om du vill ta bort din bugfixgren på servern kör du följande kommando:

$ git push origin:serverfix Till :schacon/simplegit.git - serverfix

Bom! Och inte längre en sådan gren på din server. Du kommer förmodligen att vilja lägga till ett bokmärke för den här sidan, eftersom du behöver det här kommandot senare, och du kommer sannolikt att glömma hur det stavas. Sättet att komma ihåg det här kommandot är att komma ihåg den sista git-pushen: syntaxen som vi tittade på lite tidigare. Om du går, säger du bokstavligen följande: "Ta ingenting från mig och gör det."

Jag använde git push origin:bugfix och det fungerar utmärkt.

Därefter bör du köra det här kommandot på andra utvecklingsmaskiner:

Git hämta --all --prune

för att sprida förändringarna.


Topp