Dit is de opdracht git-fetch 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-fetch - Download objecten en referenties uit een andere repository
KORTE INHOUD
git halen [ ] [ [ ...]]
git halen [ ]
git halen --meerdere [ ] [( | )...]
git halen --alle [ ]
PRODUCTBESCHRIJVING
Haal vertakkingen en/of tags (gezamenlijk "refs") op uit een of meer andere repository's,
samen met de objecten die nodig zijn om hun geschiedenis te voltooien. Takken voor volgen op afstand zijn dat wel
bijgewerkt (zie de beschrijving van hieronder voor manieren om dit gedrag te controleren).
Standaard wordt elke tag die verwijst naar de geschiedenis die wordt opgehaald, ook opgehaald; de
Het effect is dat tags worden opgehaald die verwijzen naar takken waarin u geĂŻnteresseerd bent. Deze standaardwaarde
gedrag kan worden gewijzigd door de --tags of --no-tags opties te gebruiken of door te configureren
op afstand. .tagOpt. Door een refspec te gebruiken die tags expliciet ophaalt, kunt u tags ophalen
die niet verwijzen naar branches waarin u ook geĂŻnteresseerd bent.
git halen kan ophalen uit een enkele benoemde repository of URL, of uit meerdere
opslagplaatsen tegelijk if wordt gegeven en er is een afstandsbediening. binnenkomst in de
configuratiebestand. (Zien git-config(1)).
Als er geen afstandsbediening is opgegeven, wordt standaard de oorspronkelijke afstandsbediening gebruikt, tenzij er een is
stroomopwaartse vertakking geconfigureerd voor de huidige vertakking.
De namen van de refs die worden opgehaald, samen met de objectnamen waarnaar ze verwijzen, zijn dat wel
geschreven naar .git/FETCH_HEAD. Deze informatie kan worden gebruikt door scripts of andere git-opdrachten,
zoals git-pull(1).
OPTIES
--alle
Haal alle afstandsbedieningen op.
-a, --toevoegen
Voeg ref-namen en objectnamen van opgehaalde refs toe aan de bestaande inhoud van
.git/FETCH_HEAD. Zonder deze optie worden oude gegevens in .git/FETCH_HEAD overschreven.
--diepte=
Beperk het ophalen tot het gespecificeerde aantal commits vanaf de tip van elke remote branch
geschiedenis. Als het ophalen naar een ondiep repository gemaakt door git clone met --depth=
optie (zie git-kloon(1)), verdiep of verkort de geschiedenis tot het opgegeven aantal
begaat. Tags voor de verdiepte commits worden niet opgehaald.
--ondiep
Als de bronrepository compleet is, converteer dan een ondiepe repository naar een volledige repository,
het verwijderen van alle beperkingen die worden opgelegd door ondiepe opslagplaatsen.
Als de bronrepository ondiep is, haal dan zoveel mogelijk op zodat de huidige
repository heeft dezelfde geschiedenis als de bronrepository.
--update-ondiep
Standaard bij het ophalen van een ondiepe repository, weigert git fetch refs dat
vereisen updaten van .git/shallow. Deze optie werkt .git/shallow bij en accepteert dergelijke refs.
--oefening
Laat zien wat er gedaan zou worden, zonder enige verandering aan te brengen.
-f, --kracht
. git halen wordt gebruikt met : refspec, het weigert de
lokale tak tenzij de remote branch het haalt is een afstammeling
van . Deze optie heft die controle op.
-k, --houden
Bewaar het gedownloade pakket.
--meerdere
Meerdere toestaan En argumenten op te geven. Nee s kan zijn
gespecificeerd.
-p, --snoei
Verwijder na het ophalen alle verwijzingen naar externe tracking die niet langer op het
op afstand. Tags zijn niet onderhevig aan snoeien als ze alleen worden opgehaald vanwege de
standaard tag automatisch volgen of vanwege een --tags optie. Als tags echter worden opgehaald, is dit het geval
naar een expliciete refspec (op de opdrachtregel of in de externe configuratie, bijvoorbeeld
als de afstandsbediening bijvoorbeeld is gekloond met de optie --mirror), dan zijn ze ook onderwerp
aan snoeien.
-n, --geen tags
Standaard tags die verwijzen naar objecten die zijn gedownload van de externe repository
worden lokaal opgehaald en opgeslagen. Deze optie schakelt dit automatisch volgen van tags uit. De
standaardgedrag voor een afstandsbediening kan worden opgegeven met de afstandsbediening. .tagOpt-instelling.
Bekijk git-config(1).
--refmap=
Wanneer u refs ophaalt die op de opdrachtregel staan, gebruikt u de opgegeven refspec (kan worden opgegeven
meer dan eens) om de refs toe te wijzen aan vertakkingen voor het volgen op afstand, in plaats van de waarden van
remote.*.fetch configuratievariabelen voor de externe repository. Zie sectie over
"Geconfigureerde takken voor volgen op afstand" voor meer informatie.
-t, --tags
Haal alle tags op van de afstandsbediening (dat wil zeggen, haal tags op afstand refs/tags/* op in lokale tags
met dezelfde naam), naast al het andere dat anders zou worden opgehaald. Gebruik makend van
deze optie alleen onderwerpt tags niet aan snoeien, zelfs als --prune wordt gebruikt (hoewel
tags kunnen hoe dan ook worden gesnoeid als ze ook de bestemming zijn van een expliciete refspec; zien
--gedroogde pruim).
--recurse-submodules[=ja|op aanvraag|nee]
Deze optie bepaalt of en onder welke voorwaarden nieuwe commits van ingevulde submodules plaatsvinden
moet ook opgehaald worden. Het kan worden gebruikt als een Booleaanse optie om het volledig uit te schakelen
recursie wanneer ingesteld op geen of om onvoorwaardelijk terug te keren naar alle bevolkte submodules
wanneer ingesteld op ja, wat de standaard is als deze optie zonder enige waarde wordt gebruikt. Gebruik
op aanvraag om alleen terug te keren naar een bevolkte submodule wanneer het superproject a ophaalt
commit die de referentie van de submodule bijwerkt naar een commit die nog niet in de
lokale submodulekloon.
--geen-recurse-submodules
Schakel het recursief ophalen van submodules uit (dit heeft hetzelfde effect als het gebruik van de
--recurse-submodules=nee keuze).
--submodule-prefix=
Voorbereiden naar paden die worden afgedrukt in informatieve berichten zoals "Fetching submodule
foo". Deze optie wordt intern gebruikt bij recursing over submodules.
--recurse-submodules-default=[ja|op aanvraag]
Deze optie wordt intern gebruikt om tijdelijk een niet-negatieve standaardwaarde voor te geven
de --recurse-submodules optie. Alle andere methoden voor het configureren van de submodule van fetch
recursie (zoals instellingen in gitmodules(5) en git-config(1)) deze optie negeren,
net als het direct specificeren van --[no-]recurse-submodules.
-u, --update-head-ok
Standaard git halen weigert de kop bij te werken die overeenkomt met de stroom
tak. Deze vlag schakelt de controle uit. Dit is puur voor intern gebruik git trek
communiceren met git halen, en tenzij u uw eigen Porselein u implementeert
horen het niet te gebruiken.
--upload-pakket
Wanneer gegeven, en de repository waaruit moet worden opgehaald, wordt afgehandeld door git ophaalpakket,
--exec= wordt doorgegeven aan de opdracht om een ​​niet-standaard pad op te geven voor het
opdracht uitgevoerd aan de andere kant.
-q, --stil
Geef --quiet door aan git-fetch-pack en zet alle andere intern gebruikte git-opdrachten stil.
Voortgang wordt niet gerapporteerd aan de standaard foutenstroom.
-v, --uitgebreid
Wees breedsprakig.
--voortgang
De voortgangsstatus wordt standaard gerapporteerd in de standaard foutenstroom wanneer dit het geval is
gekoppeld aan een terminal, tenzij -q is opgegeven. Deze vlag dwingt de voortgangsstatus zelfs af
als de standaardfoutstroom niet naar een terminal wordt geleid.
De "externe" opslagplaats die de bron is van een ophaal- of ophaalbewerking. Dit
parameter kan een URL zijn (zie de sectie GIT URL's hieronder) of de naam van een remote
(zie de sectie AFSTANDSBEDIENINGEN hieronder).
Een naam die verwijst naar een lijst met opslagplaatsen als de waarde van afstandsbedieningen. in de
configuratiebestand. (Zien git-config(1)).
Geeft aan welke referenties moeten worden opgehaald en welke lokale referenties moeten worden bijgewerkt. Wanneer nee S
verschijnen op de opdrachtregel, worden de op te halen referenties op afstand gelezen. .ophalen
variabelen in plaats daarvan (zie GECONFIGUREERDE TAKKEN VOOR REMOTE-TRACKING hieronder).
Het formaat van een parameter is een optionele plus +, gevolgd door de bronreferentie
, gevolgd door een dubbele punt :, gevolgd door de bestemmingsref . De dikke darm kan zijn
weggelaten wanneer is leeg.
label betekent hetzelfde als refs/tags/ :referenties/tags/ ; het vraagt ​​om ophalen
alles tot aan de gegeven tag.
De externe ref die overeenkomt wordt opgehaald, en als is geen lege string, de
lokale ref die overeenkomt, wordt snel doorgestuurd met behulp van . Als de optionele plus + is
gebruikt, wordt de lokale referentie geĂĽpdatet, zelfs als dit niet resulteert in een fast-forward update.
Note
Wanneer bekend is dat de remote branch die u wilt ophalen, wordt teruggespoeld en opnieuw wordt gebaseerd
regelmatig wordt verwacht dat zijn nieuwe tip geen afstammeling zal zijn van zijn vorige
tip (zoals opgeslagen in uw remote-tracking branch de laatste keer dat u ophaalde). Jij
zou het +-teken willen gebruiken om aan te geven dat niet-snel vooruitspoelende updates nodig zijn
voor zulke takken. Er is geen manier om te bepalen of te verklaren dat een filiaal zal zijn
beschikbaar gemaakt in een repository met dit gedrag; de trekkende gebruiker moet gewoon
weten dat dit het verwachte gebruikspatroon is voor een filiaal.
GIT URL'S
Over het algemeen bevatten URL's informatie over het transportprotocol, het adres van de
externe server en het pad naar de repository. Afhankelijk van het transportprotocol kunnen sommige
van deze informatie kan ontbreken.
Git ondersteunt ssh-, git-, http- en https-protocollen (bovendien kunnen ftp en ftps worden gebruikt
voor ophalen en rsync kunnen worden gebruikt voor ophalen en duwen, maar deze zijn inefficiënt en
verouderd; gebruik ze niet).
Het native transport (dwz git:// URL) doet geen authenticatie en moet worden gebruikt met
voorzichtigheid op onbeveiligde netwerken.
De volgende syntaxis kunnen ermee worden gebruikt:
· ssh://[gebruiker@]host.xz[:poort]/pad/naar/repo.git/
· git://host.xz[:poort]/pad/naar/repo.git/
· http[s]://host.xz[:poort]/pad/naar/repo.git/
· ftp[s]://host.xz[:poort]/pad/naar/repo.git/
· rsync://host.xz/pad/naar/repo.git/
Een alternatieve scp-achtige syntaxis kan ook worden gebruikt met het ssh-protocol:
· [gebruiker@]host.xz:pad/naar/repo.git/
Deze syntaxis wordt alleen herkend als er geen schuine strepen voor de eerste dubbele punt staan. Dit helpt
onderscheid maken tussen een lokaal pad dat een dubbele punt bevat. Het lokale pad foo:bar kan bijvoorbeeld
worden opgegeven als een absoluut pad of ./foo:bar om te voorkomen dat het verkeerd wordt geĂŻnterpreteerd als een ssh-url.
De ssh- en git-protocollen ondersteunen bovendien ~gebruikersnaamuitbreiding:
· ssh://[gebruiker@]host.xz[:poort]/~[gebruiker]/pad/naar/repo.git/
· git://host.xz[:poort]/~[gebruiker]/pad/naar/repo.git/
· [gebruiker@]host.xz:/~[gebruiker]/pad/naar/repo.git/
Voor lokale repositories, die ook native door Git worden ondersteund, kunnen de volgende syntaxis zijn:
gebruikt:
· /pad/naar/repo.git/
· bestand:///pad/naar/repo.git/
Deze twee syntaxis zijn grotendeels equivalent, behalve bij klonen, wanneer de eerste impliceert
--lokale optie. Zien git-kloon(1) voor details.
Wanneer Git niet weet hoe een bepaald transportprotocol moet worden afgehandeld, probeert het de
op afstand- hulp op afstand, als die bestaat. Om expliciet een hulp op afstand aan te vragen,
de volgende syntaxis kan worden gebruikt:
· ::
waar kan een pad zijn, een server en pad, of een willekeurige URL-achtige string
herkend door de specifieke hulp op afstand die wordt aangeroepen. Zien gitremote-helpers(1) voor
details.
Als er een groot aantal gelijknamige externe opslagplaatsen is en u een
ander formaat voor hen (zodat de URL's die u gebruikt worden herschreven in URL's die
werk), kunt u een configuratiegedeelte van het formulier maken:
[url " "]
plaats van =
Bijvoorbeeld hiermee:
[url "git://git.host.xz/"]
plaats van = host.xz:/pad/naar/
plaatsvan = werk:
een URL zoals "work:repo.git" of "host.xz:/path/to/repo.git" wordt herschreven in elke
context die een URL nodig heeft om "git://git.host.xz/repo.git" te zijn.
Als u URL's alleen voor push wilt herschrijven, kunt u een configuratiegedeelte maken van de
het formulier:
[url " "]
pushInsteadOf =
Bijvoorbeeld hiermee:
[url "ssh://example.org/"]
pushInsteadOf = git://example.org/
een URL zoals "git://example.org/path/to/repo.git" zal worden herschreven naar
"ssh://example.org/path/to/repo.git" voor pushes, maar pulls gebruiken nog steeds het origineel
URL.
REMOTES
De naam van een van de volgende kan worden gebruikt in plaats van een URL als argument:
· een afstandsbediening in het Git-configuratiebestand: $GIT_DIR/config,
· een bestand in de map $GIT_DIR/remotes, of
· een bestand in de directory $GIT_DIR/branches.
Met al deze kun je ook de refspec van de opdrachtregel weglaten omdat ze elk
bevatten een refspec die git standaard zal gebruiken.
Genoemd vanop in configuratie filet
U kunt ervoor kiezen om de naam op te geven van een afstandsbediening die u eerder had geconfigureerd met behulp van
git-afstandsbediening(1) git-config(1) of zelfs door een handmatige bewerking van het bestand $GIT_DIR/config. De URL
van deze afstandsbediening zal worden gebruikt om toegang te krijgen tot de repository. De refspec van deze afstandsbediening zal zijn
standaard gebruikt wanneer u geen refspec op de opdrachtregel opgeeft. De vermelding in de
config-bestand zou er als volgt uitzien:
[op afstand " "]
URL =
pushurl =
duwen =
halen =
De wordt alleen gebruikt voor pushs. Het is optioneel en standaard ingesteld op .
Genoemd filet in $GIT_DIR/afstandsbedieningen
U kunt ervoor kiezen om de naam van een bestand op te geven in $GIT_DIR/remotes. De URL in dit bestand
zal worden gebruikt om toegang te krijgen tot de repository. De refspec in dit bestand wordt standaard gebruikt
wanneer u geen refspec op de opdrachtregel opgeeft. Dit bestand zou het volgende moeten hebben
formaat:
URL: een van de bovenstaande URL-indelingen
Duw:
Trekken:
Push: lijnen worden gebruikt door git duwen en Pull: lijnen worden gebruikt door git trek en git halen.
Er kunnen meerdere Push:- en Pull:-lijnen worden opgegeven voor aanvullende vertakkingstoewijzingen.
Genoemd filet in $GIT_DIR/takken
U kunt ervoor kiezen om de naam van een bestand op te geven in $GIT_DIR/branches. De URL in dit bestand
zal worden gebruikt om toegang te krijgen tot de repository. Dit bestand moet het volgende formaat hebben:
#
Is benodigd; # is optioneel.
Afhankelijk van de bewerking zal git een van de volgende refspecs gebruiken, als je dat niet doet
geef er een op de opdrachtregel. is de naam van dit bestand in $GIT_DIR/branches
En standaard meester.
git fetch gebruikt:
refs/heads/ :refs/heads/
git push gebruikt:
HEAD:refs/heads/
GECONFIGUREERD TRACKING OP AFSTAND BRANCHES
U communiceert vaak met dezelfde externe repository door regelmatig en herhaaldelijk op te halen
ervan. Om de voortgang van zo’n externe repository bij te houden, kun je git fetch
Hiermee kunt u op afstand configureren. .fetch configuratievariabelen.
Normaal gesproken kan zo'n variabele er als volgt uitzien:
[op afstand "oorsprong"]
fetch = +refs/heads/*:refs/remotes/origin/*
Deze configuratie wordt op twee manieren gebruikt:
· Wanneer git fetch wordt uitgevoerd zonder te specificeren welke branches en/of tags moeten worden opgehaald
opdrachtregel, bijvoorbeeld git fetch origin of git fetch, remote. .fetch-waarden
worden gebruikt als de refspecs: ze specificeren welke refs moeten worden opgehaald en naar welke lokale refs
update. Het bovenstaande voorbeeld haalt alle vertakkingen op die in de oorsprong voorkomen (dwz alle
ref die overeenkomt met de linkerkant van de waarde, refs/heads/*) en update de
overeenkomstige takken voor het volgen op afstand in de refs/remotes/origin/*-hiërarchie.
· Wanneer git fetch wordt uitgevoerd met expliciete branches en/of tags om op te halen op de opdrachtregel,
bijvoorbeeld git fetch origin master, de s die op de opdrachtregel worden gegeven, bepalen wat
moeten worden opgehaald (bijvoorbeeld master in het voorbeeld, wat een afkorting is voor master:,
wat op zijn beurt betekent "haal de meester branch, maar ik zeg niet expliciet wat
remote-tracking branch om ermee bij te werken vanaf de opdrachtregel"), en het voorbeeld
commando zal ophalen Slechts the meester tak. De afstandsbediening. .fetch-waarden
bepalen welke tak voor volgen op afstand, indien aanwezig, wordt bijgewerkt. Bij gebruik op deze manier wordt de
op afstand. .fetch-waarden hebben geen enkel effect op de beslissing wat wordt opgehaald
(dwz de waarden worden niet gebruikt als refspecs wanneer de opdrachtregel refspecs vermeldt); zij
worden alleen gebruikt om te beslissen WAAR de opgehaalde refs worden opgeslagen door op te treden als een
in kaart brengen.
Het laatste gebruik van de afstandsbediening. .fetch-waarden kunnen worden overschreven door de
--refmap= parameter(s) op de opdrachtregel.
Voorbeelden
· Update de takken voor volgen op afstand:
$ git ophaaloorsprong
Het bovenstaande commando kopieert alle vertakkingen van de externe refs/heads/naamruimte en winkels
ze naar de lokale refs/remotes/origin/namespace, tenzij de branch. .ophalen
optie wordt gebruikt om een ​​niet-standaard refspec op te geven.
· Refspecs expliciet gebruiken:
$ git fetch origin +pu:pu maint:tmp
Hierdoor worden de takken pu en tmp in de lokale repository bijgewerkt (of indien nodig gemaakt) door
ophalen van de takken (respectievelijk) pu en maint van de externe repository.
De pu-branch zal worden bijgewerkt, zelfs als deze niet vooruitspoelt, omdat dit wel het geval is
voorafgegaan door een plusteken; tmp zal dat niet zijn.
· Kijk naar de vestiging van een afstandsbediening, zonder de afstandsbediening in uw lokale opslagplaats te configureren:
$ git fetch git://git.kernel.org/pub/scm/git/git.git maint
$ git log FETCH_HEAD
Het eerste commando haalt de maint branch op uit de repository op
git://git.kernel.org/pub/scm/git/git.git en het tweede commando gebruikt FETCH_HEAD om
onderzoek de tak met git-log(1). De opgehaalde objecten zullen uiteindelijk worden verwijderd door
git's ingebouwde housekeeping (zie git-gc(1)).
Gebruik git-fetch online met behulp van onworks.net-services