EngelsFransSpaans

OnWorks-favicon

git-merge-base - Online in de cloud

Voer git-merge-base uit in de gratis hostingprovider van OnWorks via Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

Dit is de opdracht git-merge-base die kan worden uitgevoerd in de gratis hostingprovider van OnWorks met behulp van een van onze meerdere gratis online werkstations zoals Ubuntu Online, Fedora Online, Windows online emulator of MAC OS online emulator

PROGRAMMA:

NAAM


git-merge-base - Vind zo goed mogelijke gemeenschappelijke voorouders voor een samenvoeging

KORTE INHOUD


git samenvoegbasis [-a|--alles] ...
git samenvoegbasis [-a|--all] --octopus ...
git samenvoegbasis --is-voorouder
git samenvoegbasis --onafhankelijk ...
git samenvoegbasis --vork-punt [ ]

PRODUCTBESCHRIJVING


git samenvoegbasis vindt de beste gemeenschappelijke voorouder(s) tussen twee commits om in een drieweg te gebruiken
samenvoegen. Eén gemeenschappelijke voorouder is beter dan een andere gemeenschappelijke voorouder als deze een
voorouder van eerstgenoemde. Een gemeenschappelijke voorouder die geen betere gemeenschappelijke voorouder heeft, is dat wel
a beste gemeenschappelijk voorvader, dat wil zeggen een samensmelten baseren. Houd er rekening mee dat er meer dan één samenvoegbasis kan zijn
voor een paar commits.

OPERATIE MODES


Het meest voorkomende speciale geval is het opgeven van slechts twee commits op de opdrachtregel
het berekenen van de merge-basis tussen de gegeven twee commits.

Meer in het algemeen wordt van de twee commits waaruit de merge-basis wordt berekend, één gespecificeerd door
het eerste commit-argument op de opdrachtregel; de andere commit is een (mogelijk
hypothetische) commit die een samenvoeging is van alle resterende commits op de opdrachtregel.

Als gevolg hiervan is de samensmelten baseren is niet noodzakelijkerwijs vervat in elk van de commits
argumenten als er meer dan twee commits zijn opgegeven. Dit is anders dan git-show-
tak(1) bij gebruik met de optie --merge-base.

--Octopus
Bereken de beste gemeenschappelijke voorouders van alle aangeleverde commits, ter voorbereiding op een n-way
samenvoegen. Dit bootst het gedrag van git showtak --merge-basis.

--onafhankelijk
In plaats van merge bases af te drukken, print je een minimale subset van de aangeleverde commits mee
dezelfde voorouders. Met andere woorden: vermeld onder de gegeven commits de commits die dat niet kunnen
bereikbaar zijn vanaf ieder ander. Dit bootst het gedrag van git showtak --onafhankelijk.

--is-voorouder
Controleer of de eerste is een voorouder van de tweede en sluit af met
status 0 indien waar, of met status 1 indien niet. Fouten worden gesignaleerd door een niet-nulstatus
dat is niet 1.

--vork-punt
Zoek het punt waarop een vertakking (of een geschiedenis die ernaartoe leidt) ) gevorkt van
een andere vestiging (of een referentie) . Hierbij wordt niet alleen gezocht naar het gemeenschappelijke
voorouder van de twee commits, maar houdt ook rekening met de reflog van om te kijken of
waartoe de geschiedenis heeft geleid gevorkt uit een eerdere incarnatie van de tak
(zie de discussie over deze modus hieronder).

OPTIES


-a, --allemaal
Voer alle samenvoegbases voor de commits uit, in plaats van slechts één.

DISCUSSIE


Gegeven twee commits A en Bgit merge-base AB zal een commit uitvoeren die bereikbaar is
zowel A en B via de ouderrelatie.

Met deze topologie bijvoorbeeld:

o---o---o---B
/
---o---1---o---o---o---A

de samenvoegbasis tussen A en B is 1.

Gegeven drie commits A, B en Cgit merge-base ABC zal de merge-basis ertussen berekenen A
en een hypothetische commit M, wat een samenvoeging is tussen B en C. Hiermee bijvoorbeeld
topologie:

o---o---o---o---C
/
/ o---o---o---B
/ /
---2---1---o---o---o---A

het resultaat van git merge-base ABC is 1. Dit komt omdat de equivalente topologie met a
samenvoegen commit M tussen B en C is:

o---o---o---o---o

/ o---o---o---o---M
/ /
---2---1---o---o---o---A

en het resultaat van git merge-base AM is 1. Verbinden 2 is ook een gemeenschappelijke voorouder tussen A
en M, Maar 1 is een betere gemeenschappelijke voorouder, omdat 2 is een voorouder van 1. Vandaar, 2 geen
basis samenvoegen.

Het resultaat van git merge-base --octopus ABC is 2omdat 2 is de beste gemeenschappelijke voorouder
van alle engagementen.

Als de geschiedenis kruiselingse fusies omvat, kunnen er meer dan één zijn beste gemeenschappelijk
voorouder voor twee commits. Met deze topologie bijvoorbeeld:

---1---o---A
\/
X

---2---o---o---B

zowel 1 en 2 zijn samenvoegbases van A en B. Geen van beide is beter dan de ander (beide zijn dat wel).
beste basissen samenvoegen). Als de --all optie niet wordt gegeven, is het niet gespecificeerd welke de beste is
uitgang.

Een gebruikelijk idioom om de “fast-forward-ness” tussen twee commits A en B te controleren is (of tenminste
vroeger) om de samenvoegbasis tussen A en B te berekenen, en te controleren of deze hetzelfde is als A,
in dat geval is A een voorouder van B. Je zult zien dat dit idioom vaak in oudere scripts wordt gebruikt.

A=$(git rev-parse --verify A)
if test "$A" = "$(git merge-base AB)"
harte
... A is een voorouder van B ...
fi

In moderne git kun je dit op een directere manier zeggen:

als git merge-base --is-ancestor AB
harte
... A is een voorouder van B ...
fi

gebruiken.

DISCUSSIE ON VORK-PUNT MODE


Na gewerkt te hebben aan de topic branch gemaakt met git checkout -b topic origin/master, werd de
De geschiedenis van de oorsprong/master van de op afstand gevolgde tak is mogelijk teruggespoeld en opnieuw opgebouwd, leidend
naar een geschiedenis van deze vorm:

o---B1
/
---o---o---B2--o---o---o---B (oorsprong/master)
\
B3
\
Afgeleid (onderwerp)

waar origin/master vroeger naar commits B3, B2, B1 wees en nu wijst het naar B en jouw
topic branch werd er bovenop gestart toen origin/master zich op B3 bevond. Deze modus gebruikt
de reflog van origin/master om B3 als vorkpunt te vinden, zodat het onderwerp opnieuw kan worden gebaseerd
bovenop de bijgewerkte origin/master door:

$ fork_point=$(git merge-base --fork-point oorsprong/masteronderwerp)
$ git rebase --onto origin/master $fork_point onderwerp

Gebruik git-merge-base online met behulp van onworks.net-services


Gratis servers en werkstations

Windows- en Linux-apps downloaden

Linux-commando's

Ad