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.