SVN folosește un singur depozit centralizat pentru a servi ca hub de comunicare pentru dezvoltatori, și colaborarea are loc prin trecerea changesets între dezvoltatorii’ copiile de lucru și depozitul central. Acest lucru este diferit de modelul de colaborare distribuit Git, care oferă fiecărui dezvoltator propria copie a depozitului, completată cu propria sa istorie locală și structură de ramură. De obicei, utilizatorii trebuie să partajeze o serie de angajamente, mai degrabă decât un singur set de modificări., În loc să comită un set de modificări dintr-o copie funcțională în depozitul central, Git vă permite să partajați ramuri întregi între depozite.

git remote comanda este o bucată din sistemul mai larg, care este responsabil pentru sincronizarea modificărilor. Dosarele înregistrate prin git remote comandă sunt utilizate în combinație cu git fetch, git push și git pull comenzile. Toate aceste comenzi au propriile responsabilități de sincronizare care pot fi explorate pe legăturile corespunzătoare.,

git remote

comanda git remote vă permite să creați, să vizualizați și să ștergeți conexiuni la alte depozite. Conexiunile la distanță sunt mai mult ca marcaje, mai degrabă decât legături directe în alte depozite. În loc să ofere acces în timp real la un alt Depozit, Acestea servesc ca nume convenabile care pot fi utilizate pentru a face referire la o adresă URL nu atât de convenabilă.

de exemplu, următoarea diagramă arată două conexiuni la distanță de la repo-ul dvs. la repo-ul central și la repo-ul altui Dezvoltator., În loc să le referiți prin adresele URL complete, puteți trece comenzile rapide origin și john la alte comenzi Git.

Git remote utilizare privire de ansamblu

git remote comanda este, în esență, o interfață pentru gestionarea o listă de la distanță înregistrări care sunt stocate în magazia e ./.git/config fișier. Următoarele comenzi sunt utilizate pentru a vizualiza starea curentă a listei de la distanță.

vizualizarea configurațiilor git la distanță

git remote

listați conexiunile la distanță pe care le aveți la alte depozite.,

git remote -v

la fel ca comanda de mai sus, dar include adresa URL a fiecărei conexiuni.

Crearea și modificarea git remote configurații

git remote comandă este, de asemenea, o comoditate sau ‘helper’ metoda pentru modificarea unui repo-urile ./.git/config fișier. Comenzile prezentate mai jos vă permit să gestionați conexiunile cu alte depozite. Următoarele comenzi vor modifica fișierul /.git/config al repo., Rezultatul următoarelor comenzi poate fi obținut și prin editarea directă a fișierului ./.git/config cu un editor de text.

git remote add <name> <url>

creați o nouă conexiune la un depozit la distanță. După adăugarea unei telecomenzi, veți putea utiliza ca o comandă rapidă convenabilă pentru alte comenzi Git.

git remote rm <name>

a Elimina conexiunea la depozitul de la distanță numit .

git remote rename <old-name> <new-name>

redenumiți o conexiune la distanță de la la .,Git este conceput pentru a oferi fiecărui dezvoltator un mediu de dezvoltare complet izolat. Aceasta înseamnă că informațiile nu sunt transmise automat înainte și înapoi între depozite. În schimb, dezvoltatorii trebuie să tragă manual comiterile în amonte în depozitul lor local sau să împingă manual comiterile locale înapoi în depozitul central. Comanda git remote este de fapt doar o modalitate mai ușoară de a transmite URL-uri către aceste comenzi de” partajare”.,

originea de la Distanță

Când clona un depozit cu git clone, se creează automat o conexiune la distanță numit origine spre înapoi la clonați repository. Acest lucru este util pentru dezvoltatorii care creează o copie locală a unui depozit central, deoarece oferă o modalitate ușoară de a trage modificări în amonte sau de a publica comiteri locale. Acest comportament este, de asemenea, motivul pentru care majoritatea proiectelor bazate pe Git își numesc originea depozitului central.

URL-uri depozit

Git suportă mai multe moduri de referință un depozit la distanță., Două dintre cele mai simple moduri de a accesa un repo la distanță sunt prin protocoalele HTTP și SSH. HTTP este o modalitate ușoară de a permite accesul anonim, numai în citire la un depozit. De exemplu:

But, it’s generally not possible to push commits to an HTTP address (you wouldn’t want to allow anonymous pushes anyways). For read-write access, you should use SSH instead:

ssh://user@host/path/to/repo.git

veți avea nevoie de un cont SSH valid pe computerul gazdă, dar în afară de asta, Git acceptă accesul autentificat prin SSH din cutie. Soluții moderne de găzduire 3rd party securizate, cum ar fi Bitbucket.com va oferi aceste URL-uri pentru tine.

git comenzi la distanță

git remote comanda este una dintre mai multe comenzi Git care ia suplimentare anexate „subcomands”., Mai jos este o examinare a subcomandelor git remote utilizate în mod obișnuit.

ADD <NAME> <URL>

Adaugă un record pentru ./.git/config de la distanță numit la depozit, url-ul .

Acceptă un -f opțiune, care va git fetch imediat după înregistrare de la distanță este creat.

Acceptă un --tags opțiune, care va git fetch imediat și de import de fiecare tag din depozitul de la distanță.,

RENAME <OLD> <NEW>

Actualizări ./.git/config pentru a redenumi înregistrarea sa . Toate ramurile de urmărire de la distanță și setările de configurare pentru telecomandă sunt actualizate.

REMOVE or RM <NAME>

modifică./.git/config și elimină telecomanda numită . Toate ramurile de urmărire de la distanță și setările de configurare pentru telecomandă sunt eliminate.

GET-URL <NAME>

afișează adresele URL pentru o înregistrare la distanță.

acceptă --push, URL-urile push sunt interogate mai degrabă decât URL-uri fetch.,

cu --all, toate adresele URL pentru telecomandă vor fi listate.

SHOW <NAME>

afișează informații la nivel înalt despre telecomandă .

PRUNE <NAME>

șterge orice sucursale locale pentru care nu sunt prezente în depozitul de la distanță.

acceptă o opțiune --dry-run care va lista ce ramuri sunt setate pentru a fi tăiate, dar nu le va prune de fapt.

Git remote examples

În plus față de origin, este adesea convenabil să aveți o conexiune la depozitele coechipierilor., De exemplu, dacă dvs. de co-lucrător, John, menținute la dispoziția publicului un depozit pe dev.example.com/john.git, ați putea adăuga o conexiune, după cum urmează:

git remote add john http://dev.example.com/john.git

Cu acest tip de acces la dezvoltatori individuali’ repertorii face posibilă pentru a colabora în afara depozitului central. Acest lucru poate fi foarte util pentru echipele mici care lucrează la un proiect mare.

afișarea telecomenzilor

în mod implicit, comanda git remote va afișa conexiunile la distanță stocate anterior către alte depozite., Acest lucru va produce o singură linie de ieșire care listează numele „marcaj” numele de repo la distanță.

$ git remote
origin
upstream
other_users_repo

Invocarea git remote cu -v opțiune va imprima lista de marcat depozit de nume și, în plus, corespunzătoare magazia URL-ul. Opțiunea -v înseamnă „verbose”. Mai jos este exemplu de ieșire verbose git remote ieșire.

adăugarea depozitelor la distanță

comanda git remote add va crea o nouă înregistrare de conexiune la un depozit la distanță., După adăugarea unei telecomenzi, veți putea utiliza ca o comandă rapidă convenabilă pentru alte comenzi Git. Pentru mai multe informații despre sintaxa URL acceptată, vizualizați secțiunea „URL-uri de depozit” de mai jos. Această comandă va crea o nouă înregistrare în cadrul depozitului ./.git/config. Un exemplu de acest config update cum urmează:

Inspectează o Distanță

spectacolul subcomanda pot fi anexate git remote pentru a da detaliate de ieșire de pe configurare de la distanță., Această ieșire va conține o listă de ramuri asociate cu telecomanda și, de asemenea, punctele finale atașate pentru preluarea și împingerea.

git remote show upstream
* remote upstream
Fetch URL: https://bitbucket.com/upstream_user/reponame.git
Push URL: https://bitbucket.com/upstream_user/reponame.git
HEAD branch: master
Remote branches:
master tracked
simd-deprecated tracked
tutorial tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)

Preluarea și tragerea la Git telecomenzi

Odată ce o înregistrare de la distanță a fost configurat prin utilizarea git remote comandă, de la distanță, numele poate fi transferată ca un argument la alte Git comenzi pentru a comunica cu telecomanda repo. Ambele git fetch și git pull poate fi folosit pentru a citi de la un depozit la distanță., Ambele comenzi au operații diferite care sunt explicate în profunzime pe legăturile respective.

împingând la telecomenzi Git

comandagit push este utilizată pentru a scrie într-un depozit la distanță.

git push <remote-name> <branch-name>

Acest exemplu va încărca starea locală a la depozitul de la distanță specificat de .

Redenumirea și Eliminarea Telecomenzi

git remote rename <old-name> <new-name>

comanda git remote redenumire este auto-explicativ. Când este executată, această comandă va redenumi o conexiune la distanță de la la ., În plus, acest lucru va modifica conținutul ./.git/config pentru a redenumi înregistrarea pentru telecomanda de acolo.

git remote rm <name>

comanda git remote rm va elimina conexiunea la depozitul de la distanță specificată de parametrul. Pentru a demonstra, permiteți-ne să „anulăm” adăugarea de la distanță din ultimul nostru exemplu. Dacă vom executa git remote rm remote_test, și apoi să examineze conținutul ./.git/config putem vedea că înregistrare nu mai este acolo.