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.