Nu när du skapat, slagit ihop, och tagit bort grenar så skall vi kolla på lite grenhanteringsverktyg som kommer väl till pass när du börjar använda grenar hela tiden.
Kommandot git branch gör mer än att bara skapa och ta bort grenar.
Om du kör det utan argument, så får du en lista över dina aktuella grenar:
$ git branch
iss53
* master
testingNotera symbolen * som står före master-grenen: den indikerar vilken gren du just nu har utcheckad (d.v.s. den gren som HEAD pekar på).
Detta betyder att om du sparar en version nu, så är det master-grenen som kommer flyttas framåt med ditt nya arbete.
För att se den senaste versionen på varje gren kan du köra git branch -v:
$ git branch -v
iss53 93b412c fix javascript issue
* master 7a98805 Merge branch 'iss53'
testing 782fd34 add scott to the author list in the readmesDe användbara växlarna --merged och --no-merged kan filtrera listan så att endast grenar som du har eller inte har slagit ihop med den gren du just nu står på.
För att se vilka grenar som redan är sammanslagna med den gren du nu står på kan du köra git branch --merged:
$ git branch --merged
iss53
* masterEftersom du redan slagit samman iss53 tidigare, så ser du den i listan.
Grenar på denna listan utan * framför, är generellt set helt ok att ta bort med git branch -d eftersom du redan inkorporerat arbetet i dem i en annan gren, så du kommer inte att förlora något.
För att se alla grenar som innehåller arbete du inte har slagit ihop, kan du köra git branch --no-merged:
$ git branch --no-merged
testingDetta visar din andra gren.
Eftersom den innehåller arbete som inte är sammanslaget ännu, kommer du inte kunna ta bort den med git branch -d:
$ git branch -d testing
error: The branch 'testing' is not fully merged.
If you are sure you want to delete it, run 'git branch -D testing'.Om du verkligen vill ta bort grenen och förlora arbetet i den, kan du tvinga git att ta bort den med -D som felmeddelandet föreslår.
|
Tip
|
Växlarna Du kan alltid ge extra argument för att fråga om sammanslagningstillstånd gentemot en annan gren utan att först checka ut den grenen, som t.ex. vad är inte sammanslaget i $ git checkout testing
$ git branch --no-merged master
topicA
featureB |