Hur man gör med Git: Byt namn på gren

Ett bra Git-arbetsflöde bör använda grenar för funktionsutveckling, så att du inte rör dig upp din huvudgren med alla ändringar du gör i din kod. Att lära sig hur man byter namn på en filial i Git kan hjälpa till att hålla din projekthistoria ren och lätt att förstå när det gäller att räkna ut när en ny funktion infördes i din kod.


I den här guiden beskriver vi hur man byter namn på en lokal Git-gren, liksom hur man byter namn på en avlägsen Git-gren och till och med byter namn på en avlägsen Gitub-gren.

Allt detta hjälper till att hålla ditt utvecklingsflöde trevligt, rent och enkelt att hantera på vägen när du kommer tillbaka till ett projekt.

Byt namn på en lokal Git-filial

För att byta namn på en lokal Git-gren kan vi använda kommandot Git branch -m för att ändra namnet:

1
2
3
4
5
6
7
8
9

$ git gren

* funktion1

  bemästra

 

$ git branch -m feature1 feature2

 

$ git gren

* funktion2

  bemästra

Det var lätt, rätt?

Byt namn på en Remote Git-filial

Om du bara letar efter kommandot att byta namn på en avlägsen Git-gren, är det här:

1 git push -u origin feature2: feature3

Fullständigt exempel för att byta namn på en fjärrkontroll av GitHub

För att förklara att döpa om en avlägsen Git-gren använder vi ett fiktivt GitHub-projekt för att visa processen.

Klona en GitHub-repo

Först klonar vi GitHub-projektet till vår lokala ruta med Git-klon-kommandot:

1
2
3
4
5
6

$ git-klon https://github.com/myusername/myproject.git

Kloning till “mittprojekt” …

fjärrkontroll: Räkna objekt: 3, gjort.

fjärrkontroll: Totalt 3 (delta 0), återanvänt 0 (delta 0)

Packa upp föremål: 100% (3/3) gjort.

Kontrollerar anslutningen … klar.

Nu klonades vårt projekt från mitt projekt från GitHub.

Git-fjärrkommandot visar alla spårade förvar som vi kan dra från och trycka på:

1
2

$ git fjärrkontroll

ursprung

I det här fallet ser vi bara Git-standardnamnet för en fjärrserver.

Vi kan titta mer verbos på detta med Git-fjärrkontrollen -v kommando och flagga:

1
2
3

$ git fjärrkontroll -v

ursprung https://github.com/myusername/myproject.git (hämta)

ursprung https://github.com/myusername/myproject.git (push)

Skjut lokal Git-filial till GitHub Repo

Nu när du har laddat ned ett GitHub-projekt lokalt kan du skapa en lokal filial:

1
2

$ git checkout -b funktion2

Bytta till en ny filial ‘funktion2’

Detta är kortfattat för:

1
2
3

$ git filialfunktion2

$ git checkout-funktion2

Bytta till en ny filial ‘funktion2’

När du har gjort ändringar, tryck “feature2” till det fjärrlagringsutrymme som heter “origin”:

1
2
3
4
5
6
7
8
9
10

$ eko "mychange" > newfile.txt

$ git lägg till newfile.txt

$ git commit -m "newfile.txt tillagd"

[feature2 c9acad71 newfile.txt tillagd

1 fil ändrad, 1 infogning (+)

skapa läge 100644 newfile.txt

 

$ git push origin function2

Totalt 3 (delta 0), återanvänt 0 (delta 0)

Till https://github.com/myusername/myproject.git

Kassera en fjärrkontroll från Git från en GitHub-repo

Om “feature2” -grenen bara externt fanns på GitHub, kommer du inte att kunna driva den.

Du kan använda Git gren-ett kommando för att se alla tillgängliga lokala och fjärrgrenar:

1
2
3
4
5

$ git gren -a

* mästare

  fjärrkontroller / ursprung / HEAD -> ursprung / master

  fjärrkontroller / ursprung / feature2

  fjärrkontroller / ursprung / master

Du måste först kolla in fjärrlagringsgrenen, ge den ett lokalt namn och byta till den:

1
2
3

$ git checkout origin / feature2 -b feature2

Grenfunktion2 inställd för att spåra fjärrfilialfunktion2 från ursprung

Bytta till en ny filial ‘funktion2’

Byt namn på Git Branch på Remote GitHub Repo

Nu kan vi byta namn på fjärrgren till “funktion3” och trycka den till fjärrkontrollen:

1
2
3
4
5

$ git push -u originfunktion2: feature3

Totalt 0 (delta 0), återanvänt 0 (delta 0)

Till https://github.com/myusername/myproject.git

* [ny gren] -funktion2 -> feature3

Grenfunktion2 inställd för att spåra fjärrfilialfunktion 3 från ursprung.

Vi har nu kopplat vår lokala “feature2” -gren till den avlägsna “feature3” -grenen.

Eventuella ändringar i den lokala filialen “feature2” kommer att tryckas till “feature3.”

För att fixa detta borde vi också göra ett lokalt Git-filialnamn som vi gjorde tidigare:

1
2
3
4

$ git branch -m feature2 feature3

$ git gren

* funktion3

  bemästra

Radera Git Branch på fjärr GitHub Repo

Efter att ha bytt namn på en avlägsen gren förblir den gamla grenen också.

Du kan helt enkelt ta bort den gamla grenen om du inte längre behöver den:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

$ git gren -a

* funktion3

  bemästra

  fjärrkontroller / ursprung / HEAD -> ursprung / master

  fjärrkontroller / ursprung / feature2

  fjärrkontroller / ursprung / feature3

  fjärrkontroller / ursprung / master

 

$ git push origin: feature2

Till https://github.com/myusername/myproject.git

– [borttagen] -funktion2

 

$ git gren -a

* funktion3

  bemästra

  fjärrkontroller / ursprung / HEAD -> ursprung / master

  fjärrkontroller / ursprung / feature3

  fjärrkontroller / ursprung / master

Spåra problem med Git och felsöka dem

Spårningsproblem uppstår från en förlorad “spårningsreferens” med ett fjärr “förvar: gren”.

Dessa problem indikeras av Git med hjälp av meddelanden som de nedan när du försöker trycka eller dra kod:

1
2
3

$ git push origin-funktion4

fel: src refspec Feature4 matchar inte något.

fel: misslyckades med att driva några refs till https://github.com/myusername/myproject.git

Detta kan hända om den fjärrgrenade döptes till “funktion4”, men den lokala inte uppdaterades.

Du kan använda kommandot Git branch -a för att se hur du åtgärdar lokala problem mot fjärrgrenproblem.

Sedan kan du använda Git checkout och Git branch -u för att korrigera förhållandet.

Slutligen byter namn på den lokala filialen så att den matchar den avlägsna filialen för enklare framtida hantering:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

$ git gren -a

  feature3

* mästare

  fjärrkontroller / ursprung / HEAD -> ursprung / master

  fjärrkontroller / ursprung / feature3

  fjärrkontroller / ursprung / feature4

  fjärrkontroller / ursprung / master

 

$ git checkout-funktion3

Bytta till gren ‘funktion3’

 

$ git branch -u origin / feature4

Grenfunktion3 inställd för att spåra fjärrfilialfunktion4 från ursprung.

 

$ git branch -m feature3 feature4

$ git gren

* funktion4

  bemästra

 

$ git push origin-funktion4

Till https://github.com/myusername/myproject.git

   3cc5caa..5cedaff-funktion4 -> feature4

Slutsats

Förhoppningsvis är du nu bekväm att byta namn på Git-grenar antingen lokalt eller på distans. Att behärska möjligheten att använda Git-filialens namnbytesfunktioner kan spara dig mycket utvecklingshuvudvärk längs vägen.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Adblock
    detector