git-cherry(1): Skillnad mellan sidversioner
Admin (diskussion | bidrag) (Skapade sidan med '{{manpage|section=1|title=git-cherry}} == NAMN == git-cherry - Hitta commits som ännu inte har tillämpats på uppström == SYNOPSIS == '''git cherry''' [-v] [<uppström> [<huvud> [<gräns>]]] == BESKRIVNING == Avgör om det finns commits i ''<huvud>''..''<uppström>'' som är ekvivalenta med de i intervallet ''<gräns>''..''<huvud>''. Ekvivalenstestet baseras på diffen, efter att ha tagit bort blanksteg och radnummer. git-cherry upptäcker därför när commits ha...') |
Admin (diskussion | bidrag) Ingen redigeringssammanfattning |
||
Rad 1: | Rad 1: | ||
== NAMN == | == NAMN == | ||
git-cherry - Hitta commits som ännu inte har tillämpats på uppström | git-cherry - Hitta commits som ännu inte har tillämpats på uppström |
Nuvarande version från 10 april 2025 kl. 06.41
NAMN
git-cherry - Hitta commits som ännu inte har tillämpats på uppström
SYNOPSIS
git cherry [-v] [<uppström> [<huvud> [<gräns>]]]
BESKRIVNING
Avgör om det finns commits i <huvud>..<uppström> som är ekvivalenta med de i intervallet <gräns>..<huvud>.
Ekvivalenstestet baseras på diffen, efter att ha tagit bort blanksteg och radnummer. git-cherry upptäcker därför när commits har "kopierats" med hjälp av git-cherry-pick(1), git-am(1) eller git-rebase(1).
Skriver ut SHA1 för varje commit i <gräns>..<huvud>, prefixerad med - för commits som har en ekvivalent i <uppström>, och + för commits som inte har det.
ALTERNATIV
- -v
- Visa commit-ämnena bredvid SHA1:orna.
- <uppström>
- Uppströmsgren att söka efter ekvivalenta commits i. Standardvärdet är
uppströmsgrenen för HEAD.
- <huvud>
- Arbetsgren; standardvärdet är HEAD.
- <gräns>
- Rapportera inte commits upp till (och inklusive) gränsen.
EXEMPEL
Arbetsflöden med patchar
git-cherry används ofta i patchbaserade arbetsflöden (se gitworkflows(7)) för att avgöra om en serie patchar har tillämpats av uppströmsunderhållaren. I ett sådant arbetsflöde kan du skapa och skicka en ämnesgren så här:
$ git checkout -b topic origin/master # arbeta och skapa några commits $ git format-patch origin/master $ git send-email ... 00*
Senare kan du se om dina ändringar har tillämpats genom att säga (fortfarande på topic):
$ git fetch # uppdatera din uppfattning om origin/master $ git cherry -v
Konkret exempel
I en situation där topic bestod av tre commits, och underhållaren tillämpade två av dem, kan situationen se ut så här:
$ git log --graph --oneline --decorate --boundary origin/master...topic * 7654321 (origin/master) upstream tip commit [... klipp bort några andra commits ...] * cccc111 cherry-pick of C * aaaa111 cherry-pick of A [... klipp bort mycket mer som har hänt ...] | * cccc000 (topic) commit C | * bbbb000 commit B | * aaaa000 commit A |/ o 1234567 branch point
I sådana fall visar git-cherry en kort sammanfattning av vad som ännu inte har tillämpats:
$ git cherry origin/master topic - cccc000... commit C + bbbb000... commit B - aaaa000... commit A
Här ser vi att commits A och C (markerade med -) kan tas bort från din topic gren när du rebaserar den ovanpå origin/master, medan commit B (markerad med +) fortfarande behöver behållas så att den kommer att skickas för att tillämpas på origin/master.
Använda en gräns
Det valfria <gräns> är användbart i fall där ditt ämne baseras på annat arbete som inte finns i uppström. Utökar vi det tidigare exemplet kan det se ut så här:
$ git log --graph --oneline --decorate --boundary origin/master...topic * 7654321 (origin/master) upstream tip commit [... klipp bort några andra commits ...] * cccc111 cherry-pick of C * aaaa111 cherry-pick of A [... klipp bort mycket mer som har hänt ...] | * cccc000 (topic) commit C | * bbbb000 commit B | * aaaa000 commit A | * 0000fff (base) unpublished stuff F [... klipp ...] | * 0000aaa unpublished stuff A |/ o 1234567 merge-base between upstream and topic
Genom att ange base som gräns kan du undvika att lista commits mellan base och topic:
$ git cherry origin/master topic base - cccc000... commit C + bbbb000... commit B - aaaa000... commit A
SE ÄVEN
GIT
Del av git(1)-sviten
KOLOFON
Den här sidan är en del av projektet git (Git distribuerat versionshanteringssystem). Information om projektet finns på <⟨http://git-scm.com/⟩>. Om du har en felrapport för den här manualsidan, se <⟨http://git-scm.com/community⟩>. Den här sidan hämtades från projektets uppströms Git-arkiv <⟨https://github.com/git/git.git⟩> den 2025-02-02. (Vid den tidpunkten var datumet för den senast hittade commiten i arkivet 2025-01-31.) Om du upptäcker några renderingsproblem i den här HTML-versionen av sidan, eller om du tror att det finns en bättre eller mer aktuell källa för sidan, eller om du har korrigeringar eller förbättringar av informationen i den här KOLOFONEN (som *inte* är en del av den ursprungliga manualsidan), skicka ett e-postmeddelande till man-pages@man7.org
Sidslut
Orginalhemsidan på Engelska https://man7.org/linux/man-pages/man1/gencnval.1.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.