EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

git-pull - Online în cloud

Rulați git-pull în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda git-pull care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


git-pull - Preluare și integrare cu un alt depozit sau o ramură locală

REZUMAT


merge trage [Opțiuni] [ [ ...]]

DESCRIERE


Încorporează modificările dintr-un depozit la distanță în ramura curentă. În mod implicit
modul, git pull este prescurtarea pentru git fetch urmată de git merge FETCH_HEAD.

Mai precis, merge trage ruleaza merge aduc cu parametrii și apelurile dați merge îmbina la
îmbinați capetele de ramură recuperate în ramura curentă. Cu --rebase, rulează merge
depășește în loc de merge îmbina.

ar trebui să fie numele unui depozit de la distanță așa cum a fost transmis git-fetch(1).
poate denumi o referință la distanță arbitrară (de exemplu, numele unei etichete) sau chiar a
colecție de referințe cu ramuri corespunzătoare de urmărire la distanță (de exemplu,
refs/heads/*:refs/remotes/origin/*), dar de obicei este numele unei ramuri din telecomandă
repertoriu.

Valori implicite pentru și sunt citite de la „telecomandă” și „merge”
configurația pentru ramura curentă, așa cum este stabilită de git-ramură(1) --pistă.

Să presupunem că există următorul istoric și ramura curentă este „master”:

A---B---C maestru la origine
/
D---E---F---G maestru
^
origine/master în depozitul dvs

Apoi „git pull” va prelua și reda modificările din ramura master la distanță de la aceasta
a deviat de la masterul local (adică, E) până la comiterea sa curentă (C) deasupra masterului și
înregistrați rezultatul într-un nou commit împreună cu numele celor două comite-uri părinte și un jurnal
mesaj de la utilizator care descrie modificările.

A---B---C origine/master
/\
D---E---F---G---H maestru

Vedea git-merge(1) pentru detalii, inclusiv modul în care sunt prezentate și gestionate conflictele.

În Git 1.7.0 sau o versiune ulterioară, pentru a anula o îmbinare conflictuală, utilizați git reset --merge. avertizare: În
versiuni mai vechi de Git, care rulează merge trage cu modificări neangajate este descurajat: în timp ce
posibil, vă lasă într-o stare care poate fi greu de retras în cazul unui
conflict.

Dacă oricare dintre modificările de la distanță se suprapune cu modificările locale necommitate, îmbinarea va fi
anulat automat și arborele de lucru neatins. În general, cel mai bine este să iei orice local
modificări în starea de funcționare înainte de a le trage sau a le ascunde git-stash(1).

OPŢIUNI


-q, --liniște
Acest lucru este transmis atât la git-fetch de bază pentru a opri raportarea în timpul transferului,
și subiacent git-merge pentru a squelch ieșirea în timpul îmbinării.

-v, --verbos
Treceți --verbose la git-fetch și git-merge.

--[nu-]submodule-recurs[=da|la cerere|nu]
Această opțiune controlează dacă ar trebui preluate și noi comiteri ale tuturor submodulelor populate
(A se vedea git-config(1) și gitmodules(5)). Acest lucru ar putea fi necesar pentru a obține datele necesare
pentru îmbinarea comiterilor submodulelor, o caracteristică Git învățată în 1.7.3. Observați că rezultatul
a unei îmbinări nu va fi verificată în submodul, „git submodule update” trebuie să fie
apelat ulterior pentru a aduce arborele de lucru la zi cu rezultatul îmbinării.

Opţiuni legate de la care fuzionează
--commit, --no-commit
Efectuați îmbinarea și confirmați rezultatul. Această opțiune poate fi folosită pentru a suprascrie
--nu-commit.

Cu --no-commit, efectuați îmbinarea, dar pretindeți că îmbinarea a eșuat și nu comiteți automat,
pentru a oferi utilizatorului șansa de a inspecta și de a modifica în continuare rezultatul îmbinării înainte
comiterea.

--edit, -e, --no-edit
Invocați un editor înainte de a efectua îmbinarea mecanică cu succes pentru a edita în continuare
mesaj de îmbinare generat automat, astfel încât utilizatorul să poată explica și justifica îmbinarea. The
Opțiunea --no-edit poate fi folosită pentru a accepta mesajul generat automat (în general, acesta este
descurajat).

Scripturile mai vechi pot depinde de comportamentul istoric de a nu permite utilizatorului să editeze
mesajul jurnal de îmbinare. Ei vor vedea un editor deschis când rulează git merge. A face
este mai ușor să ajustați astfel de scripturi la comportamentul actualizat, variabila de mediu
GIT_MERGE_AUTOEDIT poate fi setat la nu la începutul acestora.

--ff
Când îmbinarea se rezolvă ca o derulare rapidă înainte, actualizați doar indicatorul de ramură, fără
crearea unui commit de îmbinare. Acesta este comportamentul implicit.

--nu-ff
Creați un commit de îmbinare chiar și atunci când îmbinarea se rezolvă ca o derulare rapidă înainte. Acesta este
comportament implicit la îmbinarea unei etichete adnotate (și eventual semnate).

--ff-doar
Refuzați să fuzionați și să ieșiți cu o stare diferită de zero, cu excepția cazului în care HEAD-ul actual este deja
actualizate sau îmbinarea poate fi rezolvată ca o derulare rapidă.

--log[= ], --no-log
Pe lângă numele de ramuri, completați mesajul de jurnal cu descrieri dintr-un rând de la
cel mult comite-uri reale care sunt fuzionate. Vezi si git-fmt-merge-msg(1).

Cu --no-log nu listați descrierile pe o linie din comiterile reale care sunt îmbinate.

--stat, -n, --no-stat
Afișați un diffstat la sfârșitul îmbinării. Diffstat-ul este, de asemenea, controlat de
opțiunea de configurare merge.stat.

Cu -n sau --no-stat nu afișează un diffstat la sfârșitul îmbinării.

--dovleac, --no-dovleac
Produceți arborele de lucru și starea indexului ca și cum ar fi avut loc o îmbinare reală (cu excepția fișierului
îmbinați informații), dar nu efectuați de fapt o comitere, nu mutați HEAD sau nu înregistrați
$GIT_DIR/MERGE_HEAD (pentru a determina următoarea comandă git commit să creeze un comit de îmbinare).
Acest lucru vă permite să creați un singur commit deasupra ramurii curente al cărei efect este
la fel ca fuzionarea unei alte ramuri (sau mai multe în cazul unei caracatițe).

Cu --no-squash, efectuați îmbinarea și comiteți rezultatul. Această opțiune poate fi folosită pentru
override --dovleac.

-s , --strategie=
Utilizați strategia de îmbinare dată; pot fi furnizate de mai multe ori pentru a le specifica în
pentru ca acestea să fie încercate. Dacă nu există opțiunea -s, este o listă încorporată de strategii
folosit in schimb (merge fuziune-recursivă la unirea unui singur cap, merge îmbinare-caracatiță
in caz contrar).

-X , --strategy-option=
Treceți opțiunea specifică strategiei de îmbinare la strategia de îmbinare.

--verify-signatures, --no-verify-signatures
Verificați dacă commit-urile care sunt îmbinate au semnături GPG bune și de încredere și anulați
fuzionarea în cazul în care nu o fac.

--rezumat, --nu-rezumat
Sinonime pentru --stat și --no-stat; acestea sunt depreciate și vor fi eliminate în
viitor.

-r, --rebase[=fals|true|preserve]
Când este adevărat, rebazați ramura curentă peste ramura din amonte după preluare. Dacă
există o ramură de urmărire la distanță corespunzătoare ramurii din amonte și
ramura din amonte a fost rebazată de la ultima preluare, rebaza folosește acele informații pentru
evitați rebazarea modificărilor non-locale.

Când este setat să păstreze, rebase cu opțiunea --preserve-merges transmisă la git rebase so
că comiterile de îmbinare create local nu vor fi aplatizate.

Când este fals, îmbinați ramura curentă în ramura din amonte.

Vezi pull.rebase, branch. .rebase și branch.autoSetupRebase în git-config(1) dacă
vrei să faci ca git pull să folosească întotdeauna --rebase în loc să fuzioneze.

notițe
Acesta este un potențial periculos mod de operare. Rescrie istoria, ceea ce face
nu este de bun augur când ai publicat deja acea istorie. Do nu utilizați această opțiune
decât dacă ai citit git-rebase(1) cu grijă.

--no-rebase
Ignorați mai devreme --rebase.

Opţiuni legate de la aducând
--toate
Preluați toate telecomenzile.

-a, --anexează
Adăugați nume de referințe și numele obiectelor referințelor preluate la conținutul existent al
.git/FETCH_HEAD. Fără această opțiune, datele vechi din .git/FETCH_HEAD vor fi suprascrise.

--adâncime=
Limitați preluarea la numărul specificat de comitări din vârful fiecărei ramuri la distanță
istorie. Dacă aduc la a superficial depozit creat de git clone cu --depth=
opțiunea (vezi git-clone(1)), aprofundați sau scurtați istoricul la numărul specificat de
comite. Etichetele pentru comiterile aprofundate nu sunt preluate.

--neprofund
Dacă depozitul sursă este complet, convertiți un depozit superficial într-unul complet,
eliminând toate limitările impuse de depozitele superficiale.

Dacă depozitul sursă este puțin adânc, obțineți cât mai mult posibil, astfel încât curentul
depozitul are același istoric ca și depozitul sursă.

--actualizare-profunzime
În mod implicit, când se preia dintr-un depozit superficial, git fetch refuză referințele
necesită actualizarea .git/shallow. Această opțiune actualizează .git/shallow și acceptă astfel de referințe.

-f, --forță
Cand merge aduc este folosit cu : refspec, refuză să actualizeze
filiala locala cu excepția cazului în care ramura la distanță it fetches este un descendent
de . Această opțiune înlocuiește această verificare.

-k, --ține
Păstrați pachetul descărcat.

--fără-etichete
În mod implicit, etichete care indică obiectele care sunt descărcate din depozitul de la distanță
sunt preluate și stocate local. Această opțiune dezactivează această urmărire automată a etichetei. The
comportamentul implicit pentru o telecomandă poate fi specificat cu telecomandă. Setarea .tagOpt.
Vedea git-config(1).

-u, --update-head-ok
În mod implicit merge aduc refuză să actualizeze capul care corespunde curentului
ramură. Acest steag dezactivează verificarea. Acesta este exclusiv pentru uz intern merge trage
pentru a comunica cu merge aduc, și cu excepția cazului în care implementați propriul dvs. porțelan
nu trebuie să-l folosească.

--upload-pack
Când este dat, iar depozitul din care să fie preluat este gestionat de merge ambalaj,
--exec= este transmisă comenzii pentru a specifica calea care nu este implicită pentru
comanda rulează la celălalt capăt.

--progresa
Starea progresului este raportată în fluxul de erori standard în mod implicit atunci când este
atașat la un terminal, cu excepția cazului în care este specificat -q. Acest steag forțează chiar statutul de progres
dacă fluxul de erori standard nu este direcționat către un terminal.


Depozitul „la distanță” care este sursa unei operațiuni de preluare sau extragere. Acest
parametrul poate fi fie o adresă URL (consultați secțiunea URL-uri GIT de mai jos), fie numele unei telecomenzi
(vezi secțiunea TELECOMĂRI de mai jos).


Specifică ce referințe să fie preluate și ce referințe locale să fie actualizate. Când nu s
apar pe linia de comandă, referințele de preluat sunt citite de la distanță. .aduce
variabile în schimb (vezi git-fetch(1)).

Formatul a parametrul este un plus opțional +, urmat de ref. sursă
, urmat de două puncte :, urmat de referința destinației . Colonul poate fi
omis când este gol.

etichetă înseamnă același lucru cu referințe/etichete/ :refs/etichete/ ; solicită preluarea
totul până la eticheta dată.

Ref de la distanță care se potrivește este preluat, iar dacă nu este șir gol, the
Ref local care se potrivește cu acesta este redirecționat rapid folosind . Dacă plus opțional + este
utilizat, referința locală este actualizată chiar dacă nu are ca rezultat o actualizare rapidă.

notițe
Atunci când ramura de la distanță pe care doriți să o preluați este cunoscută ca fiind rebobinată și rebazată
în mod regulat, se așteaptă ca noul său vârf să nu fie descendent al precedentului
pont (așa cum a fost stocat în ramura de urmărire la distanță ultima dată când ați preluat). Tu
ar dori să folosească semnul + pentru a indica că vor fi necesare actualizări fără redirecționare rapidă
pentru astfel de ramuri. Nu există nicio modalitate de a determina sau de a declara că o sucursală va fi
pus la dispoziție într-un depozit cu acest comportament; utilizatorul care trage pur și simplu trebuie
știți că acesta este modelul de utilizare așteptat pentru o ramură.

notițe
Există o diferență între listarea mai multor direct pe merge trage
linie de comandă și având mai multe telecomenzi. .aduceți intrări în dvs
configurație pentru a și alergând a merge trage comandă fără niciuna
explicit parametrii. sunt listate explicit pe linia de comandă
sunt întotdeauna îmbinate în ramura curentă după preluare. Cu alte cuvinte, dacă tu
enumerați mai multe referințe la distanță, merge trage va crea o fuziune Octopus. Pe de altă parte
mâna, dacă nu enumerați nimic explicit parametru pe linia de comandă, merge
trage va aduce toate se găsește în telecomandă. .aduce
configurație și îmbina doar primul găsite în ramura actuală.
Acest lucru se datorează faptului că a face o Caracatiță din referințe la distanță se face rar, în timp ce se păstrează
Urmărirea mai multor capete de la distanță într-o singură mișcare prin preluarea a mai mult de unul este adesea
util.

GIT URL-uri


În general, URL-urile conțin informații despre protocolul de transport, adresa
server la distanță și calea către depozit. În funcție de protocolul de transport, unele
din aceste informații pot lipsi.

Git acceptă protocoalele ssh, git, http și https (în plus, ftp și ftps pot fi utilizate
for fetching și rsync pot fi folosite pentru preluare și împingere, dar acestea sunt ineficiente și
depreciat; nu le folosiți).

Transportul nativ (adică git:// URL) nu are autentificare și ar trebui folosit cu
prudență la rețelele nesecurizate.

Următoarele sintaxe pot fi folosite cu ele:

· ssh://[utilizator@]host.xz[:port]/path/to/repo.git/

· git://host.xz[:port]/path/to/repo.git/

· http[s]://host.xz[:port]/path/to/repo.git/

· ftp[s]://host.xz[:port]/path/to/repo.git/

· rsync://host.xz/path/to/repo.git/

O sintaxă alternativă asemănătoare scp poate fi utilizată și cu protocolul ssh:

· [utilizator@]host.xz:path/to/repo.git/

Această sintaxă este recunoscută numai dacă nu există bare oblice înainte de primele două puncte. Asta ajuta
diferențiați o cale locală care conține două puncte. De exemplu, calea locală foo:bar ar putea
fi specificat ca o cale absolută sau ./foo:bar pentru a evita interpretarea greșită ca o adresă URL ssh.

Protocoalele ssh și git acceptă în plus extinderea ~username:

· ssh://[user@]host.xz[:port]/~[user]/path/to/repo.git/

· git://host.xz[:port]/~[user]/path/to/repo.git/

· [utilizator@]host.xz:/~[utilizator]/cale/la/repo.git/

Pentru depozitele locale, acceptate și de Git nativ, pot fi următoarele sintaxe
folosit:

· /path/to/repo.git/

· file:///path/to/repo.git/

Aceste două sintaxe sunt în mare parte echivalente, cu excepția clonării, când prima implică
--opțiune locală. Vedea git-clone(1) pentru detalii.

Când Git nu știe cum să gestioneze un anumit protocol de transport, încearcă să folosească
la distanta- ajutor de la distanță, dacă există. Pentru a solicita în mod explicit un ajutor de la distanță,
se poate folosi următoarea sintaxă:

· ::

Unde poate fi o cale, un server și o cale sau un șir arbitrar de tip URL
recunoscut de către asistentul de la distanță specific invocat. Vedea gitremote-helpers(1) pentru
Detalii.

Dacă există un număr mare de depozite la distanță cu nume similar și doriți să utilizați a
format diferit pentru ele (astfel încât adresele URL pe care le utilizați vor fi rescrise în adrese URL care
lucru), puteți crea o secțiune de configurare a formularului:

[url " "]
insteadOf =

De exemplu, cu asta:

[url "git://git.host.xz/"]
insteadOf = host.xz:/path/to/
insteadOf = lucru:

o adresă URL ca „work:repo.git” sau ca „host.xz:/path/to/repo.git” va fi rescrisă în orice
context care presupune ca o adresă URL să fie „git://git.host.xz/repo.git”.

Dacă doriți să rescrieți adresele URL numai pentru push, puteți crea o secțiune de configurare a
formă:

[url " "]
pushInsteadOf =

De exemplu, cu asta:

[url „ssh://example.org/”]
pushInsteadOf = git://example.org/

o adresă URL precum „git://example.org/path/to/repo.git” va fi rescrisă în
„ssh://example.org/path/to/repo.git” pentru push, dar pulls va folosi în continuare originalul
URL.

TELECOMANDE


Numele unuia dintre următoarele poate fi folosit în locul unui URL ca argument:

· o telecomandă în fișierul de configurare Git: $GIT_DIR/config,

· un fișier în directorul $GIT_DIR/remotes sau

· un fișier în directorul $GIT_DIR/branches.

Toate acestea vă permit, de asemenea, să omiteți refspec din linia de comandă, deoarece fiecare
conțin o specificație de referință pe care git o va folosi implicit.

Numit la distanta in configuraţie fişier
Puteți alege să furnizați numele unei telecomenzi pe care ați configurat-o anterior utilizând
git-remote(1), git-config(1) sau chiar printr-o editare manuală a fișierului $GIT_DIR/config. URL-ul
a acestei telecomenzi va fi folosită pentru a accesa depozitul. Refspecul acestei telecomenzi va fi
utilizat în mod implicit atunci când nu furnizați o specificație de referință pe linia de comandă. Intrarea în
fișierul de configurare ar apărea astfel:

[la distanta " "]
url =
pushurl =
împinge =
aduce =

The este folosit doar pentru împingeri. Este opțional și este implicit .

Numit fişier in $GIT_DIR/telecomenzi
Puteți alege să furnizați numele unui fișier în $GIT_DIR/telecomenzi. Adresa URL din acest fișier
va fi folosit pentru a accesa depozitul. Refspec-ul din acest fișier va fi folosit ca implicit
când nu furnizați o specificație de referință pe linia de comandă. Acest fișier ar trebui să aibă următoarele
format:

URL: unul dintre formatele URL de mai sus
Apăsați:
Trage:

Push: liniile sunt folosite de merge împinge și Pull: liniile sunt folosite de merge trage și merge aduc.
Liniile Multiple Push: și Pull: pot fi specificate pentru mapări suplimentare ale ramurilor.

Numit fişier in $GIT_DIR/ramuri
Puteți alege să furnizați numele unui fișier în $GIT_DIR/branches. Adresa URL din acest fișier
va fi folosit pentru a accesa depozitul. Acest fișier ar trebui să aibă următorul format:

#

este necesară; # este optional.

În funcție de operație, git va folosi una dintre următoarele specificații de referință, dacă nu o faci
furnizați unul pe linia de comandă. este numele acestui fișier în $GIT_DIR/branches
și implicit la master.

git fetch folosește:

arbitri/capete/ :ref/capete/

git push folosește:

HEAD:ref/heads/

MERGE STRATEGII


Mecanismul de îmbinare (comenzile git merge și git pull) permite backend-ul îmbina strategii
pentru a fi aleasă cu opțiunea -s. Unele strategii își pot lua și propriile opțiuni, care pot fi
a trecut prin a da -X argumente pentru git merge și/sau git pull.

rezolvă
Acest lucru poate rezolva doar două capete (adică ramura curentă și o altă ramură pe care ați tras-o
de la) folosind un algoritm de îmbinare în trei căi. Încearcă să detecteze cu atenție îmbinarea încrucișată
ambiguități și este considerat în general sigur și rapid.

recursiv
Acest lucru poate rezolva doar două capete folosind un algoritm de îmbinare în trei căi. Când există mai mult de
un strămoș comun care poate fi folosit pentru îmbinarea în 3 căi, creează un arbore îmbinat al
strămoși comuni și îl folosește ca arbore de referință pentru îmbinarea în trei căi. Aceasta are
S-a raportat că are ca rezultat mai puține conflicte de îmbinare fără a provoca îmbinări greșite de către teste
realizat pe comiterile de îmbinare reale preluate din istoricul dezvoltării kernel-ului Linux 2.6.
În plus, aceasta poate detecta și gestiona fuziuni care implică redenumiri. Aceasta este valoarea implicită
strategia de îmbinare atunci când trageți sau îmbinați o ramură.

recursiv strategia poate lua următoarele opțiuni:

suporta
Această opțiune obligă părțile aflate în conflict să fie rezolvate automat în mod curat prin favorizare al nostru
versiune. Schimbările din celălalt copac care nu intră în conflict cu partea noastră sunt
reflectată în rezultatul îmbinării. Pentru un fișier binar, este preluat întregul conținut
din partea noastră.

Acest lucru nu trebuie confundat cu suporta strategia de îmbinare, care nici măcar nu arată
la ceea ce conţine celălalt copac. Renunță la tot ce a făcut celălalt copac,
declararea al nostru istoria conține tot ce s-a întâmplat în ea.

a lor
Acesta este opusul suporta.

răbdare
Cu această opțiune, fuziune-recursivă petrece puțin timp în plus pentru a evita îmbinările greșite
care apar uneori din cauza liniilor de potrivire neimportante (de exemplu, acolade de la distinct
funcții). Folosiți-l atunci când ramurile care urmează să fie îmbinate s-au divergent în mod sălbatic. Vezi si
git-diff(1) --răbdare.

diff-algorithm=[răbdare|minimal|histogramă|myers]
Spune fuziune-recursivă pentru a utiliza un algoritm diferit, care poate ajuta la evitarea
îmbinări greșite care apar din cauza liniilor de potrivire neimportante (cum ar fi bretele de la
funcţii distincte). Vezi si git-diff(1) --algoritm-dif.

ignora-schimbarea-spațială, ignora-tot-spațiul, ignora-spațiul-la-eol
Tratează liniile cu tipul indicat de modificare a spațiului alb ca neschimbate pentru
de dragul unei fuziuni în trei. Modificările spațiilor albe combinate cu alte modificări ale unei linii
nu sunt ignorate. Vezi si git-diff(1) -b, -w și --ignore-space-at-eol.

· Dacă lor versiunea introduce doar modificări de spații albe la o linie, al nostru versiunea este
folosit;

· Dacă al nostru versiunea introduce modificări de spații albe dar lor versiunea include a
schimbare substanțială, lor se folosește versiunea;

· În caz contrar, fuziunea se desfășoară în mod obișnuit.

renormaliza
Aceasta rulează o verificare virtuală și o înregistrare a tuturor celor trei etape ale unui fișier când
rezolvarea unei îmbinări în trei. Această opțiune este menită să fie utilizată la îmbinarea ramurilor
cu filtre curate diferite sau reguli de normalizare de final de linie. A se vedea „Imbinare
sucursale cu atribute diferite de check-in/checkout" în gitattributes(5) pentru
Detalii.

nu-renormalizare
Dezactivează opțiunea de renormalizare. Aceasta anulează merge.renormalize
variabila de configurare.

rename-threshold=
Controlează pragul de similitudine utilizat pentru detectarea redenumirii. Vezi si git-diff(1)
-M.

subarbore[= ]
Această opțiune este o formă mai avansată de subarbore strategie, unde face strategia
o ghicire a modului în care doi copaci trebuie mutați pentru a se potrivi unul cu celălalt atunci când se îmbină.
În schimb, calea specificată este prefixată (sau eliminată de la început).
forma a doi copaci care să se potrivească.

poulpe
Acest lucru rezolvă cazurile cu mai mult de două capete, dar refuză să facă o fuziune complexă
necesită rezoluție manuală. Este destinat în primul rând să fie utilizat pentru gruparea ramurilor subiectului
capete împreună. Aceasta este strategia de îmbinare implicită atunci când trageți sau îmbinați mai mult de
o ramură.

suporta
Acest lucru rezolvă orice număr de capete, dar arborele rezultat al îmbinării este întotdeauna acesta
a capului actual de ramură, ignorând efectiv toate modificările din toate celelalte ramuri.
Este menit să fie folosit pentru a înlocui istoria veche de dezvoltare a ramurilor laterale. Notă
că aceasta este diferită de opțiunea -Xours la recursiv strategia de fuziune.

subarbore
Aceasta este o strategie recursivă modificată. La îmbinarea arborilor A și B, dacă B corespunde
un subarboresc al lui A, B este mai întâi ajustat pentru a se potrivi cu structura arborescentă a lui A, în loc de
citind copacii la același nivel. Această ajustare se face și la comun
arborele strămoș.

Cu strategiile care folosesc îmbinarea în trei direcții (inclusiv cea implicită, recursiv), dacă o schimbare
se face pe ambele ramuri, dar ulterior revenit pe una dintre ramuri, acea modificare va fi
prezent în rezultatul comasat; unii oameni consideră acest comportament confuz. Se întâmplă pentru că
numai capetele și baza de îmbinare sunt luate în considerare atunci când se efectuează o îmbinare, nu
individual se angajează. Prin urmare, algoritmul de îmbinare consideră modificarea inversată ca nu
schimbă deloc și înlocuiește versiunea modificată.

DEFAULT COMPORTAMENT


Adesea, oamenii folosesc git pull fără a da niciun parametru. În mod tradițional, așa a fost
echivalent cu a spune git pull origin. Cu toate acestea, atunci când ramura de configurare. .telecomanda este
prezent în timp ce se află pe ramură , acea valoare este folosită în locul originii.

Pentru a determina ce adresă URL să folosiți pentru a prelua, valoarea configurației
la distanta. Se consultă .url și dacă nu există o astfel de variabilă, valoarea de pe URL:
` linie în `$GIT_DIR/remotes/ este utilizat fișierul.

Pentru a determina ce ramuri la distanță să preia (și opțional să le stocați în
ramuri de urmărire la distanță) atunci când comanda este rulată fără parametrii de referință pe
linia de comandă, valorile variabilei de configurare remote. .fetch sunt consultate,
iar dacă nu există, $GIT_DIR/telecomenzi/ este consultat fișierul și este „Pull: ”.
sunt folosite linii. În plus față de formatele refspec descrise în secțiunea OPȚIUNI, dvs
poate avea o referință globală care arată astfel:

refs/heads/*:refs/remotes/origine/*

O referință globbing trebuie să aibă un RHS nevid (adică trebuie să stocheze ceea ce a fost preluat
ramuri de urmărire la distanță), iar LHS și RHS trebuie să se încheie cu /*. Cele de mai sus precizează că
toate ramurile la distanță sunt urmărite folosind ramuri de urmărire la distanță în refs/remotes/origin/
ierarhie sub același nume.

Regula pentru a determina ce ramură la distanță să fuzioneze după preluare este puțin implicată
pentru a nu rupe compatibilitatea inversă.

Dacă specificațiile explicite au fost date pe linia de comandă a git pull, toate sunt îmbinate.

Când nu a fost dată nicio refspec pe linia de comandă, atunci git pull folosește refspec de la
configurație sau $GIT_DIR/telecomenzi/ . În astfel de cazuri, se aplică următoarele reguli:

1. Dacă ramură. .configurație de îmbinare pentru ramura curentă există, adică
numele sucursalei de pe site-ul la distanță care este fuzionat.

2. Dacă refspec este unul globbing, nimic nu este îmbinat.

3. În caz contrar, ramura la distanță a primei specificații de referință este îmbinată.

EXEMPLE


· Actualizați ramurile de urmărire la distanță pentru depozitul din care ați clonat, apoi îmbinați unul
dintre ele în ramura dvs. actuală:

$ git pull, originea git pull

În mod normal, ramura îmbinată este HEAD-ul depozitului de la distanță, dar alegerea este
determinat de ramură. .telecomandă și ramură. .opțiuni de îmbinare; vedea git-
config(1) pentru detalii.

· Fuzionați în ramura curentă ramura la distanță următoare:

$ git pull origin în continuare

Aceasta lasă temporar o copie a următoarei în FETCH_HEAD, dar nu actualizează niciuna
sucursale de urmărire la distanță. Folosind ramuri de urmărire la distanță, același lucru se poate face și prin
invocând preluarea și îmbinare:

$ git prelua originea
$ git merge origin/next

Dacă ai încercat o tragere care a dus la conflicte complexe și ai vrea să o iei de la capăt, tu
se poate recupera cu merge reseta.

Utilizați git-pull online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

  • 1
    wxPython
    wxPython
    Un set de module de extensie Python care
    împachetați clasele GUI multiplatformă din
    wxWidgets.. Public: Dezvoltatori. Utilizator
    interfață: X Window System (X11), Win32...
    Descărcați wxPython
  • 2
    packfilemanager
    packfilemanager
    Acesta este managerul de fișiere al pachetului Total War
    proiect, începând cu versiunea 1.7. A
    scurtă introducere în Warscape
    modding:...
    Descărcați packfilemanager
  • 3
    IPerf2
    IPerf2
    Un instrument de măsurare a traficului de rețea
    Performanță TCP și UDP cu metrici
    atât în ​​jurul debitului cât și al latenței. The
    obiectivele includ menținerea unui activ
    cod iperf...
    Descărcați IPerf2
  • 4
    fre:ac - convertor audio gratuit
    fre:ac - convertor audio gratuit
    fre:ac este un convertor audio și CD gratuit
    ripper pentru diverse formate și codificatoare.
    Dispune de MP3, MP4/M4A, WMA, Ogg
    Format Vorbis, FLAC, AAC și Bonk
    a sustine, ...
    Descărcați fre:ac - convertor audio gratuit
  • 5
    matplotlib
    matplotlib
    Matplotlib este o bibliotecă cuprinzătoare
    pentru crearea statice, animate și
    vizualizări interactive în Python.
    Matplotlib ușurează lucrurile și
    lucru greu...
    Descărcați Matplotlib
  • 6
    Botman
    Botman
    Scrieți logica chatbot-ului o dată și
    conectați-l la unul dintre cele disponibile
    servicii de mesagerie, inclusiv Amazon
    Alexa, Facebook Messenger, Slack,
    Telegram sau chiar tu...
    Descărcați BotMan
  • Mai mult »

Comenzi Linux

Ad