Amazon Best VPN GoSearch

Favicon OnWorks

git-push - Online în cloud

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

Aceasta este comanda git-push 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-push - Actualizați referințele de la distanță împreună cu obiectele asociate

REZUMAT


merge împinge [--toate | --oglinda | --tags] [--follow-tags] [--atomic] [-n | --dry-run] [--receive-pack= ]
[--repo= ] [-f | --force] [--prune] [-v | --verbos]
[-u | --set-upstream]
[--[no-]semnat|--sign=(adevărat|fals|dacă este întrebat)]
[--forța-cu-închiriere[= [: ]]]
[--no-verify] [ [ ...]]

DESCRIERE


Actualizează referințe de la distanță folosind referințe locale, trimițând în același timp obiectele necesare pentru a finaliza
referiri date.

Puteți face lucruri interesante să se întâmple unui depozit de fiecare dată când intrați în el, prin
configurare cârlige Acolo. Consultați documentația pentru git-receive-pack(1).

Când linia de comandă nu specifică unde să împinge cu argument,
branch.*.configurarea la distanță pentru ramura curentă este consultată pentru a determina unde să se îndrepte
Apăsați. Dacă configurația lipsește, aceasta este implicită origine.

Când linia de comandă nu specifică cu ce să împinge ... argumente sau --toate,
--mirror, --tags opțiuni, comanda găsește cea implicită prin consultanta
remote.*.push configurație și, dacă nu este găsită, onorează configurația push.default la
decideți ce să împingeți (vezi git-config(1) pentru sensul push.default).

Când nici linia de comandă, nici configurația nu specifică ce să împinge, implicit
este utilizat comportamentul care corespunde valorii simple pentru push.implicit: curentul
ramura este împinsă la ramura corespunzătoare din amonte, dar ca măsură de siguranță, împingerea
se anulează dacă ramura din amonte nu are același nume cu cea locală.

OPŢIUNI



Depozitul „la distanță” care este destinația unei operațiuni push. Acest parametru poate fi
fie o adresă URL (consultați secțiunea URL-uri GIT de mai jos), fie numele unei telecomenzi (consultați secțiunea
telecomenzi de mai jos).

...
Specificați ce referință de destinație să actualizați cu ce obiect sursă. Formatul a
parametrul este un plus opțional +, urmat de obiectul sursă ,
urmat de două puncte :, urmat de referința destinației .

The este adesea numele ramurii pe care ai dori să o împingi, dar poate fi oricare
„expresie SHA-1” arbitrară, cum ar fi master~4 sau HEAD (vezi gitreviziuni(7)).

The spune care ref de pe partea de la distanță este actualizată cu acest push. Arbitrar
expresiile nu pot fi folosite aici, trebuie denumit un ref real. Dacă git push
[ ] fara nici o argumentul este setat pentru a actualiza unele ref la
destinație cu cu telecomanda. .push variabilă de configurare, :
o parte poate fi omisă — o astfel de împingere va actualiza un ref care se actualizează în mod normal fără
orice pe linia de comandă. In rest, lipsesc: înseamnă a actualiza același lucru
ref ca .

Obiectul la care face referire este folosit pentru a actualiza referință pe telecomandă
latură. În mod implicit, acest lucru este permis numai dacă nu este o etichetă (adnotat sau
ușor), și apoi numai dacă poate avansa rapid . Având opționalul
conducând +, îi poți spune lui Git să actualizeze ref chiar dacă nu este permis de
implicit (de exemplu, nu este o derulare rapidă înainte). nu încercarea de a fuziona în
. Vezi EXEMPLE de mai jos pentru detalii.

etichetă înseamnă același lucru cu referințe/etichete/ :refs/etichete/ .

Împingând un gol vă permite să ștergeți ref din depozitul de la distanță.

Refspec specială: (sau +: pentru a permite actualizări care nu sunt de tip înainte rapid) direcționează Git să push
ramuri „potrivite”: pentru fiecare ramură care există în partea locală, partea la distanță
este actualizat dacă o ramură cu același nume există deja pe partea de la distanță.

--toate
Împingeți toate ramurile (adică refs sub refs/heads/); nu poate fi folosit cu altele .

--prună uscată
Eliminați sucursalele de la distanță care nu au o contrapartidă locală. De exemplu, o telecomandă
branșa tmp va fi eliminată dacă o ramură locală cu același nume nu există
Mai Mult. Acest lucru respectă și specificațiile de referință, de exemplu git push --prune remote
refs/heads/*:refs/tmp/* se va asigura că refs/tmp/foo la distanță vor fi eliminate dacă
refs/heads/foo nu există.

--oglindă
În loc să denumească fiecare ref pentru a împinge, specifică că toate refs sub refs/ (care
include, dar nu se limitează la, refs/heads/, refs/remotes/ și refs/tags/) să fie oglindit
către depozitul de la distanță. Refurile locale nou create vor fi împinse la capătul de la distanță,
referințele actualizate local vor fi actualizate forțat la distanță, iar referințele șterse vor fi
îndepărtat de la capătul de la distanță. Aceasta este implicită în cazul opțiunii de configurare
la distanta. .oglinda este setată.

-n, --funcționare în uscat
Faceți totul, cu excepția trimiterii actualizărilor.

--porţelan
Produceți rezultate care pot fi citite de mașină. Linia de stare de ieșire pentru fiecare referință va fi
separate prin tabulatori și trimis la stdout în loc de stderr. Numele simbolice complete ale
se vor da arbitri.

--șterge
Toate referințele listate sunt șterse din depozitul de la distanță. Aceasta este la fel ca prefixarea
toate arbitrii cu două puncte.

--Etichete
Toate referințele de sub referințe/etichete sunt împinse, în plus față de specificațiile de referință enumerate în mod explicit pe
Linie de comanda.

--follow-tag-uri
Împingeți toate refs care ar fi împins fără această opțiune și, de asemenea, apăsați adnotat
etichete în refs/etichete care lipsesc de la telecomandă, dar care indică spre commit-ish that
sunt accesibile de la arbitrii care sunt împinsi. Acest lucru poate fi specificat și cu
variabila de configurare push.followTags. Pentru mai multe informații, vedeți push.followTags in
git-config(1).

--[no-]semnat, --sign=(adevărat|fals|dacă este întrebat)
GPG-semnează cererea push pentru a actualiza refs pe partea de recepție, pentru a permite acest lucru
verificate de cârlige și/sau să fie înregistrate. Dacă este fals sau --no-semnat, nu se va semna
încercat. Dacă este adevărat sau --semnat, push-ul va eșua dacă serverul nu acceptă
împingeri semnate. Dacă este setat la dacă vi se solicită, semnați dacă și numai dacă serverul acceptă semnat
împinge. De asemenea, împingerea va eșua dacă apelul efectiv la gpg --sign eșuează. Vedea git-
pachet de primire(1) pentru detaliile de la capătul de primire.

--[no-]atomic
Utilizați o tranzacție atomică pe partea de la distanță, dacă este disponibilă. Ori toți arbitrii sunt
actualizat, sau în caz de eroare, nicio referință nu este actualizată. Dacă serverul nu acceptă atomic
împinge împingerea va eșua.

--receive-pack= , --exec=
Calea spre git-receive-pack program la capătul de la distanță. Uneori util atunci când împingeți
la un depozit de la distanță prin ssh și nu aveți programul într-un director de pe
implicit $PATH.

--[no-]force-with-lease, --force-with-lease= ,
--force-with-lease= :
De obicei, „git push” refuză să actualizeze o referință de la distanță care nu este un strămoș al
ref local folosit pentru a-l suprascrie.

Această opțiune anulează această restricție dacă valoarea curentă a referinței la distanță este
valorea estimata. „git push” eșuează altfel.

Imaginează-ți că trebuie să rebazezi ceea ce ai publicat deja. Va trebui să
ocoliți regula „trebuie să avansați rapid” pentru a înlocui istoricul pe care îl aveți inițial
publicat cu istoria rebazată. Dacă altcineva a construit peste originalul tău
istoric în timp ce rebazați, vârful ramurii de la telecomandă poate avansa cu
comiterea ei și împingerea orbește cu --forță își va pierde munca.

Această opțiune vă permite să spuneți că vă așteptați ca istoricul pe care îl actualizați este ceea ce dvs
rebazat și doriți să înlocuiți. În cazul în care ref de la distanță tot arată spre commit-ul
specificat, poți fi sigur că niciun alt om nu i-a făcut nimic ref. Este ca
luând o „închiriere” pe referință fără a o bloca în mod explicit, iar referința la distanță este
actualizat doar dacă „închirierea” este încă valabilă.

Doar --force-with-lease, fără a specifica detaliile, va proteja toate referințele de la distanță
care vor fi actualizate solicitând ca valoarea lor curentă să fie aceeași cu cea a
ramură de urmărire la distanță avem pentru ei.

--force-with-lease= , fără a specifica valoarea așteptată, va proteja
numit ref (singur), dacă urmează să fie actualizat, solicitând ca valoarea sa actuală să fie
la fel ca și ramura de urmărire la distanță pe care o avem pentru aceasta.

--force-with-lease= : va proteja referința numită (singur), dacă este
va fi actualizat, solicitând ca valoarea sa actuală să fie aceeași cu cea specificată
valoare (care poate fi diferită de ramura de urmărire la distanță pe care o avem
avem pentru refname, sau nici nu trebuie să avem o astfel de ramură de urmărire la distanță
când se utilizează această formă).

Rețineți că toate formele, altele decât --force-with-lease= : care specifica
valoarea curentă așteptată a ref în mod explicit sunt încă experimentale și lor
semantica se poate schimba pe măsură ce dobândim experiență cu această caracteristică.

„--no-force-with-lease” va anula toate --force-with-lease anterioare din comandă
linia.

-f, --forță
De obicei, comanda refuză să actualizeze o referință de la distanță care nu este un strămoș al
ref local folosit pentru a-l suprascrie. De asemenea, când se folosește opțiunea --force-with-lease,
comanda refuză să actualizeze un ref de la distanță a cărui valoare curentă nu se potrivește cu ceea ce este
așteptat.

Acest indicator dezactivează aceste verificări și poate face ca depozitul de la distanță să piardă comiterile;
folosește-l cu grijă.

Rețineți că --force se aplică tuturor referințelor care sunt împinse, prin urmare folosindu-l cu
push.default setat la potrivire sau cu mai multe destinații push configurate cu
remote.*.push poate suprascrie referințe, altele decât ramura curentă (inclusiv referințe locale
care sunt strict în spatele omologului lor îndepărtat). Pentru a forța o împingere la unul singur
ramură, utilizați un + în fața refspec pentru a împinge (de exemplu, git push origin +master pentru a forța
o împingere către ramura principală). Vezi ... secțiunea de mai sus pentru detalii.

--repo=
Această opțiune este echivalentă cu argument. Dacă ambele sunt specificate,
argumentul liniei de comandă are prioritate.

-u, --set-upstream
Pentru fiecare ramură care este actualizată sau împinsă cu succes, adăugați în amonte (urmărire)
referință, folosită de argument-less git-pull(1) și alte comenzi. Pentru mai multe informatii,
vedea ramură. .combina in git-config(1).

--[nimic
Aceste opțiuni sunt transmise git-send-pack(1). Un transfer subțire reduce semnificativ
cantitatea de date trimise atunci când expeditorul și receptorul împărtășesc multe dintre aceleași obiecte
uzual. Valoarea implicită este --thin.

-q, --liniște
Suprimați toate rezultatele, inclusiv lista de referințe actualizate, cu excepția cazului în care apare o eroare.
Progresul nu este raportat în fluxul de erori standard.

-v, --verbos
Rulați cu probă.

--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.

--no-recurse-submodules, --recurse-submodules=verificare|la cerere|nu
Poate fi folosit pentru a vă asigura că toate commit-urile submodulului utilizate de revizuirile care urmează să fie împinse sunt
disponibil pe o sucursală de urmărire la distanță. Dacă verifica este folosit Git va verifica că toate
Comiterile submodulelor care s-au modificat în revizuirile care urmează să fie împinse sunt disponibile cel puțin
o telecomandă a submodulului. Dacă lipsesc vreo comitere, împingerea va fi anulată și
ieșire cu starea diferită de zero. Dacă la cerere se folosesc toate submodulele care s-au schimbat în
revizuirile care urmează a fi împins vor fi împins. Dacă la cerere nu a fost capabil să împingă toate necesare
revizuirile vor fi, de asemenea, anulate și ieșite cu starea diferită de zero. O valoare de Nu. or
folosind --no-recurse-submodule poate fi folosit pentru a suprascrie push.recurseSubmodules
variabilă de configurare când nu este necesară recursiunea submodulului.

--[no-]verify
Comutați cârligul de pre-împingere (vezi githooks(5)). Valoarea implicită este --verify, dând cârligului a
șansa de a preveni împingerea. Cu --no-verify, cârligul este ocolit complet.

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/

REZULTATE


Ieșirea „git push” depinde de metoda de transport utilizată; această secțiune descrie
ieșire când treceți peste protocolul Git (fie local, fie prin ssh).

Starea push este scoasă în formă tabelară, fiecare linie reprezentând starea
a unui singur ref. Fiecare linie are forma:

-> ( )

Dacă se folosește --porțelan, atunci fiecare linie a ieșirii are forma:

\t : \t ( )

Starea referințelor actualizate este afișată numai dacă este utilizată opțiunea --porțelan sau --verbose.

pavilion
Un singur caracter care indică starea ref:

(spaţiu)
pentru un avans rapid împins cu succes;

+
pentru o actualizare forțată de succes;

-
pentru un ref șters cu succes;

*
pentru un nou ref împins cu succes;

!
pentru un arbitru care a fost respins sau nu a reușit să împingă; și

=
pentru un arbitru care era la zi și nu avea nevoie de împingere.

rezumat
Pentru o referință împinsă cu succes, rezumatul arată valorile vechi și noi ale ref
un formular potrivit pentru a fi folosit ca argument pentru git log (acesta este .. în cele mai multe
cazuri, și ... pentru actualizări forțate care nu sunt înainte rapide).

Pentru o actualizare eșuată, sunt oferite mai multe detalii:

respins
Git nu a încercat deloc să trimită arbitrul, de obicei pentru că nu este o avansare rapidă
și nu ai forțat actualizarea.

telecomanda respinsă
Extremul de la distanță a refuzat actualizarea. De obicei cauzată de un cârlig pe partea de la distanță sau
deoarece depozitul de la distanță are în vigoare una dintre următoarele opțiuni de siguranță:
receive.denyCurrentBranch (pentru împingeri către ramura extrasă),
receive.denyNonFastForwards (pentru actualizări forțate non-rapid-forward),
receive.denyDeletes sau receive.denyDeleteCurrent. Vedea git-config(1).

defecțiune la distanță
Capătul de la distanță nu a raportat actualizarea cu succes a ref, poate din cauza
o eroare temporară pe partea de la distanță, o întrerupere a conexiunii la rețea sau altele
eroare tranzitorie.

din
Numele aferentului local care este împins, minus refs/ / prefix. În cazul în care
ștergere, numele refului local este omis.

la
Numele ref. de la distanță care este actualizat, minus referințele sale/ / prefix.

motiv
O explicație care poate fi citită de om. În cazul arbitrilor împins cu succes, nicio explicație
Este nevoie. Pentru o referință eșuată, este descris motivul eșecului.

NOTĂ DESPRE NOI RAPID-ÎNAINTE


Când o actualizare modifică o ramură (sau, în general, o referință) care obișnuia să arate spre comiterea A
pentru a indica un alt commit B, se numește actualizare rapidă înainte dacă și numai dacă B este a
descendent al lui A.

Într-o actualizare rapidă de la A la B, setul de comite pe care le-a construit commit-ul original A
deasupra este un subset al comiterilor pe care se construiește noul commit B. Prin urmare, nu
pierde orice istorie.

În schimb, o actualizare care nu este derulată rapid va pierde istoricul. De exemplu, să presupunem că tu și
altcineva a început la aceeași comitere X și tu ai construit un istoric care duce la comiterea B
în timp ce cealaltă persoană a construit o istorie care a condus la comiterea lui A. Istoria arată astfel:

B
/
---X---A

Mai mult, să presupunem că cealaltă persoană a împins deja modificări care duc la A înapoi la
depozitul original din care voi doi ați obținut comiterea originală X.

Impingerea făcută de cealaltă persoană a actualizat ramura care obișnuia să îndrepte spre commit X
punct la comiterea A. Este un avans rapid.

Dar dacă încercați să împingeți, veți încerca să actualizați ramura (care acum indică A) cu
comite B. Acest lucru face nu repede inainte. Dacă ați făcut acest lucru, modificările introduse de commit A
va fi pierdut, pentru că toată lumea va începe acum să construiască deasupra lui B.

Comanda implicită nu permite o actualizare care nu este o derulare rapidă pentru a preveni acest lucru
pierderea istoriei.

Dacă nu doriți să vă pierdeți munca (istoric de la X la B) sau munca celeilalte persoane
(istoric de la X la A), ar trebui să preluați mai întâi istoricul din depozit,
creați un istoric care conține modificările efectuate de ambele părți și împingeți rezultatul înapoi.

Puteți efectua „git pull”, rezolva potențiale conflicte și „git push” rezultatul. Un „git
pull" va crea o comitere de îmbinare C între comiterile A și B.

B---C
/ /
---X---A

Actualizarea A cu comiterea de îmbinare rezultată se va derula rapid înainte și împingerea dvs. va fi
admis.

Alternativ, vă puteți rebaza schimbarea între X și B deasupra lui A, cu „git pull
--rebase", și împinge rezultatul înapoi. Rebase va crea un nou commit D care construiește
schimbare între X și B peste A.

BD
/ /
---X---A

Din nou, actualizarea lui A cu acest commit se va avansa rapid și împingerea dvs. va fi acceptată.

Există o altă situație obișnuită în care s-ar putea să întâmpinați o respingere non-rapid-forward când
încerci să împingi, și este posibil chiar și atunci când împingi pe nimeni într-un depozit
altfel împinge în. După ce împingeți singur commit A (în prima imagine din această secțiune),
înlocuiți-l cu „git commit --amend” pentru a produce commit B și încercați să îl eliminați,
pentru că ai uitat că l-ai împins deja pe A afară. Într-un astfel de caz, și numai dacă ești
sigur că nimeni între timp nu v-a preluat comiterea A anterioară (și a început să construiască pe
partea de sus), puteți rula „git push --force” pentru a-l suprascrie. Cu alte cuvinte, „git push
--force" este o metodă rezervată unui caz în care vrei să pierzi istoricul.

EXEMPLE


git push
Funcționează ca git push , Unde este telecomanda ramurii curente (sau
origine, dacă nu este configurată nicio telecomandă pentru ramura curentă).

git push origin
Fără o configurație suplimentară, împinge ramura curentă în amonte configurată
(variabila de configurare remote.origin.merge) dacă are același nume cu cea curentă
ramură și erori fără a împinge altfel.

Comportamentul implicit al acestei comenzi atunci când nu este dat poate fi configurat de
setarea opțiunii push a telecomenzii sau a variabilei de configurare push.default.

De exemplu, pentru a împinge implicit doar ramura curentă la origine, utilizați git config
la distanţă.origine.împinge CAP. Orice valabil (ca cele din exemplele de mai jos) pot
fi configurat ca implicit pentru originea git push.

git push origin:
Împingeți ramurile „potrivite” la origine. Vedea în secțiunea OPȚIUNI de mai sus pentru a
descrierea ramurilor „potrivite”.

git push master de origine
Găsiți o referință care se potrivește cu masterul în depozitul sursă (cel mai probabil, ar găsi
refs/heads/master) și actualizați același ref (de exemplu refs/heads/master) în origine
depozit cu acesta. Dacă master nu ar exista de la distanță, ar fi creat.

git push origin HEAD
O modalitate la îndemână de a împinge ramura curentă la același nume de pe telecomandă.

git push nava mamă master:satelit/master dev:satelit/dev
Utilizați referința sursă care se potrivește cu master (de exemplu refs/heads/master) pentru a actualiza ref
care se potrivește cu satelit/master (cel mai probabil refs/telecomenzi/satelit/master) în
depozitul navei-mamă; faceți același lucru pentru dev și satelit/dev.

Aceasta este pentru a emula git fetch run pe nava-mamă folosind git push care este rulat în
direcție opusă pentru a integra munca efectuată pe satelit, și este adesea
este necesar atunci când puteți face o conexiune doar într-un singur fel (adică satelitul poate intra în
nava-mamă, dar nava-mamă nu poate iniția conexiunea la satelit, deoarece acesta din urmă
se află în spatele unui firewall sau nu rulează sshd).

După ce rulați acest git push pe mașina satelit, veți intra în ssh
mamă și rulați git se îmbină acolo pentru a finaliza emularea git pull care au fost rulate
pe nava-mamă pentru a trage modificările făcute pe satelit.

git push origin HEAD:master
Împingeți ramura curentă către masterul de potrivire a ref de la distanță din depozitul de origine.
Această formă este convenabilă pentru a împinge ramura curentă fără a vă gândi la localul său
nume.

git push origin master:refs/heads/experimental
Creați ramura experimentală în depozitul de origine prin copierea masterului curent
ramură. Acest formular este necesar doar pentru a crea o nouă ramură sau etichetă în telecomandă
depozit când numele local și numele de la distanță sunt diferite; în caz contrar, ref
numele de la sine va funcționa.

git push origin:experimental
Găsiți o referință care se potrivește experimental în depozitul de origine (de ex
refs/heads/experimental) și ștergeți-l.

git push origin +dev:master
Actualizați ramura principală a depozitului de origine cu ramura dev, permițând
actualizări fără redirecționare rapidă. Acest poate să părăsi nereferit comite bălăbăneală in il origine
repertoriu. Luați în considerare următoarea situație, în care o avansare rapidă nu este posibilă:

o---o---o---A---B origine/master
\
X---Y---Z dev

Comanda de mai sus ar schimba depozitul de origine în

A---B (ramură fără nume)
/
o---o---o---X---Y---Z maestru

Commit-urile A și B nu ar mai aparține unei ramuri cu nume simbolic, la fel
fi de neatins. Ca atare, aceste comiteri ar fi eliminate printr-o comandă git gc de pe
depozitul de origine.

GIT


O parte din merge(1) apartament

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


Servere și stații de lucru gratuite

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

Comenzi Linux

Ad




×
publicitate
❤️Cumpără, rezervă sau cumpără aici — gratuit, contribuind la menținerea serviciilor gratuite.