SVN bruger et enkelt centraliseret arkiv til at fungere som kommunikationshub for udviklere, og samarbejde finder sted ved at videregive ændringer mellem udviklernes arbejdskopier og det centrale arkiv. Dette adskiller sig fra Gits distribuerede samarbejdsmodel, som giver hver udvikler deres egen kopi af depotet, komplet med sin egen lokale historie og filialstruktur. Brugere skal typisk dele en række forpligtelser snarere end et enkelt ændrings sæt., I stedet for at begå et ændringssæt fra en arbejdskopi til det centrale arkiv, giver Git dig mulighed for at dele hele grene mellem arkiver.
kommandoengit remote
er et stykke af det bredere system, der er ansvarlig for synkronisering af ændringer. Registreringer, der er registreret gennem git remote
kommando, der anvendes i forbindelse med git fetch
git push
og git pull
kommandoer. Disse kommandoer har alle deres egne synkroniseringsansvar, som kan udforskes på de tilsvarende links.,
Git remote
git remote
kommandoen giver dig mulighed for at oprette, se og slette forbindelser til andre arkiver. Fjernforbindelser er mere som bogmærker snarere end direkte links til andre arkiver. I stedet for at give adgang i realtid til et andet depot, tjener de som praktiske Navne, der kan bruges til at henvise til en ikke-så-praktisk URL.for eksempel viser følgende diagram to fjernforbindelser fra din repo til den centrale repo og en anden udviklers repo., I stedet for at henvise dem ved deres fulde Urebadresser, kan du videregive genveje til origin og john til andre Git-kommandoer.
Git ekstern brug overblik
git remote
kommando er i det væsentlige en brugergrænseflade til håndtering af en liste af eksterne poster, der er gemt i lageret s ./.git/config
fil. Følgende kommandoer bruges til at se den aktuelle tilstand på fjernlisten.
visning af fjernkonfigurationer i git
git remote
Angiv de fjernforbindelser, du har til andre arkiver.,
git remote -v
samme som ovenstående kommando, men medtag URL ‘ en for hver forbindelse.
Oprettelse og ændring af git fjernbetjening konfigurationer
git remote
kommando er også en bekvemmelighed eller ‘hjælper’ metode til at ændre et repo ./.git/config
fil. Kommandoerne nedenfor giver dig mulighed for at administrere forbindelser med andre arkiver. Følgende kommandoer vil ændre repo ‘erne /.git/config
fil., Resultatet af følgende kommandoer kan også opnås ved direkte redigering af ./.git/config
fil med en teksteditor.
git remote add <name> <url>
Opret en ny forbindelse til et eksternt lager. Når du har tilføjet en fjernbetjening, kan du bruge som en praktisk genvej til andre Git-kommandoer.
git remote rm <name>
Fjern forbindelsen til fjern lageret kaldet .
git remote rename <old-name> <new-name>
Omdøb en fjernforbindelse fra til .,
Git remote discussion
Git er designet til at give hver udvikler et helt isoleret udviklingsmiljø. Det betyder, at oplysninger ikke automatisk sendes frem og tilbage mellem depoter. I stedet skal udviklere manuelt trække opstrøms commits ind i deres lokale repository eller manuelt skubbe deres lokale commits tilbage til det centrale repository. Kommandoen git remote
er virkelig bare en nemmere måde at videregive Urebadresser til disse “deling” – kommandoer.,
origin Remote
Når du kloner et arkiv medgit clone
, opretter det automatisk en fjernforbindelse kaldet origin, der peger tilbage til det klonede arkiv. Dette er nyttigt for udviklere, der opretter en lokal kopi af et centralt arkiv, da det giver en nem måde at trække opstrømsændringer eller offentliggøre lokale forpligtelser på. Denne adfærd er også grunden til de fleste Git-baserede projekter kalder deres centrale repository Oprindelse.
Repository-Urebadresser
Git understøtter mange måder at referere til et eksternt lager på., To af de nemmeste måder at få adgang til en ekstern repo er via HTTP og SSH protokoller. HTTP er en nem måde at tillade anonym, skrivebeskyttet adgang til et arkiv. For eksempel:
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
du har brug for en gyldig SSH-konto på værtsmaskinen, men bortset fra Det understøtter Git autentificeret adgang via SSH ud af boksen. Moderne sikker 3. parts hosting løsninger som Bitbucket.com vil give disse Urebadresser til dig.
Git-fjernkommandoer
kommandoen git remote
er en af mange Git-kommandoer, der tager yderligere tilføjede ‘underkommandoer’., Nedenfor er en undersøgelse af de almindeligt anvendtegit remote
underkommandoer.
ADD <NAME> <URL>
Tilføjer en post til ./.git/config
for fjernbetjening med navnet på lageret url .
accepterer en-f
mulighed, der vilgit fetch
umiddelbart efter, at fjernposten er oprettet.
Accepterer en --tags
indstilling, der vil git fetch
straks og import hver tag fra remote repository.,
RENAME <OLD> <NEW>
Opdateringer ./.git/config
for at omdøbe den registrering . Alle fjernsporingsafdelinger og konfigurationsindstillinger for fjernbetjeningen opdateres.
REMOVE or RM <NAME>
ændrer ./.git/config
og fjerner fjernbetjeningen navngivet . Alle fjernsporingsafdelinger og konfigurationsindstillinger for fjernbetjeningen fjernes.
GET-URL <NAME>
udsender Urebadresserne til en ekstern post.
accepterer--push
, push-Urebadresser forespørges i stedet for at hente Urebadresser.,
med --all
vises alle Urebadresser til fjernbetjeningen.
SHOW <NAME>
udsender oplysninger på højt niveau om fjernbetjeningen .
PRUNE <NAME>
sletter eventuelle lokale filialer, der ikke findes på fjernarkivet.
accepterer en--dry-run
mulighed, der viser, hvilke grene der er indstillet til at blive beskåret, men vil faktisk ikke beskære dem.
Git-fjerneksempler
ud over origin er det ofte praktisk at have en forbindelse til dine holdkammeraters arkiver., For eksempel, hvis din kollega, John, vedligeholdes af et offentligt tilgængeligt register i dev.example.com/john.git
, kan du tilføje en forbindelse som følger:
git remote add john http://dev.example.com/john.git
efter at Have denne form for adgang til de enkelte udviklere repositorier, der gør det muligt at samarbejde uden for den centrale database. Dette kan være meget nyttigt for små teams, der arbejder på et stort projekt.
viser dine fjernbetjeninger
som standard vil kommandoengit remote
liste tidligere gemte fjernforbindelser til andre arkiver., Dette vil producere en enkelt linje output, der viser navnene på” bogmærke ” navn remote repos.
$ git remote
origin
upstream
other_users_repo
Påberåbelse git remote
med -v
option vil udskrive listen med bogmærker repository navne, og derudover, at de tilsvarende repository URL. Indstillingen -v
står for”verbose”. Nedenfor er Eksempel output af verbose git remote
output.
tilføjelse af Fjernarkiver
kommandoengit remote add
opretter en ny forbindelsespost til et eksternt lager., Når du har tilføjet en fjernbetjening, kan du bruge som en praktisk genvej til andre Git-kommandoer. For mere information om den accepterede URL syntaks, se afsnittet” Repository Urebadresser ” nedenfor. Denne kommando opretter en ny post i arkivet ./.git/config
. Et eksempel på denne konfigurationsfilopdatering følger:
inspektion af en fjernbetjening
visunderkommandoen kan tilføjes tilgit remote
for at give detaljeret output på konfigurationen af en fjernbetjening., Denne udgang vil indeholde en liste over filialer, der er forbundet med fjernbetjeningen, og også de slutpunkter, der er knyttet til at hente og skubbe.
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)
Hentning og trække fra Git fjernbetjeninger
Når en ekstern registrering er blevet konfigureret gennem brug af git remote
kommando, fjernbetjeningen navn kan sendes som et argument for at andre Git-kommandoer til at kommunikere med fjernbetjeningen repo. Både git fetch
, og git pull
kan bruges til at læse fra et eksternt lager., Begge kommandoer har forskellige operationer, der forklares yderligere i dybden på deres respektive links.
skubbe til Git-Fjernbetjeninger
kommandoengit push
bruges til at skrive til et fjernt arkiv.
git push <remote-name> <branch-name>
dette eksempel vil uploade den lokale tilstand af til den eksterne repository angivet af .
omdøbning og fjernelse af fjernbetjeninger
git remote rename <old-name> <new-name>
kommandoengit remote
Omdøb er selvforklarende. Når udført, denne kommando vil omdøbe en fjernforbindelse fra til ., Derudover vil dette ændre indholdet af ./.git/config
for at omdøbe posten til fjernbetjeningen der også.
git remote rm <name>
kommandoen git remote rm
fjerner forbindelsen til det eksterne lager, der er angivet af parameteren. For at demonstrere lad os’ fortryde ‘ den eksterne tilføjelse fra vores sidste eksempel. Hvis vi udfører git remote rm remote_test
, og derefter undersøger indholdet af ./.git/config
, kan vi se, at record ikke længere er der.