SVN använder ett enda centraliserat förråd för att fungera som kommunikationshub för utvecklare, och samarbete sker genom att byta mellan utvecklarens arbetskopior och det centrala förvaret. Detta skiljer sig från Git: s distribuerade samarbetsmodell, som ger varje utvecklare sin egen kopia av förvaret, komplett med sin egen lokala historia och grenstruktur. Användare behöver vanligtvis dela en serie åtaganden snarare än en enda ändringsuppsättning., I stället för att begå en ändringsuppsättning från en arbetskopia till det centrala arkivet, låter Git du dela hela grenar mellan förråd.
kommandotgit remote
är en del av det bredare systemet som ansvarar för synkronisering av ändringar. Poster som registrerats via kommandotgit remote
används tillsammans med kommandonagit fetch
,git push
ochgit pull
. Dessa kommandon har alla sina egna synkroniseringsansvar som kan utforskas på motsvarande länkar.,
Git remote
kommandotgit remote
låter dig skapa, visa och ta bort anslutningar till andra förråd. Fjärranslutningar är mer som bokmärken snarare än direkta länkar till andra förråd. Istället för att ge realtidsåtkomst till ett annat förråd, tjänar de som praktiska namn som kan användas för att referera till en inte så bekväm URL.
Följande diagram visar till exempel två fjärranslutningar från din repo till den centrala repo och en annan utvecklares repo., Istället för att referera dem med sina fullständiga webbadresser kan du skicka genvägarna origin och john till andra Git-kommandon.
översikt över fjärranvändning av Git
kommandotgit remote
är i huvudsak ett gränssnitt för att hantera en lista över fjärrposter som lagras i arkivets./.git/config
– fil. Följande kommandon används för att visa det aktuella läget för fjärrlistan.
Visa git fjärrkonfigurationer
git remote
lista de fjärranslutningar du har till andra förråd.,
git remote -v
samma som ovanstående kommando, men inkludera webbadressen för varje anslutning.
skapa och ändra fjärrkonfigurationer för git
kommandotgit remote
är också en bekvämlighet eller”helper” – metod för att ändra en Repos./.git/config
– fil. De kommandon som presenteras nedan låter dig hantera anslutningar med andra förråd. Följande kommandon kommer att ändra repo: s/.git/config
– fil., Resultatet av följande kommandon kan också uppnås genom att direkt redigera filen./.git/config
med en textredigerare.
git remote add <name> <url>
skapa en ny anslutning till ett fjärrförråd. När du har lagt till en fjärrkontroll kan du använda som en bekväm genväg för i andra Git-kommandon.
git remote rm <name>
Ta bort anslutningen till fjärrförvaret som heter.
git remote rename <old-name> <new-name>
byt namn på en fjärranslutning från till .,
Git remote discussion
Git är utformad för att ge varje utvecklare en helt isolerad utvecklingsmiljö. Detta innebär att information inte automatiskt skickas fram och tillbaka mellan förråd. Istället, utvecklare måste manuellt dra uppströms begår i deras lokala förvaret eller manuellt driva sina lokala begår tillbaka upp till det centrala förvaret. Kommandotgit remote
är egentligen bara ett enklare sätt att skicka webbadresser till dessa ”dela” kommandon.,
origin Remote
När du klonar ett förråd medgit clone
skapar det automatiskt en fjärranslutning som heter origin som pekar tillbaka till det klonade förvaret. Detta är användbart för utvecklare att skapa en lokal kopia av ett centralt förråd, eftersom det ger ett enkelt sätt att dra uppströmsändringar eller publicera lokala åtaganden. Detta beteende är också varför de flesta Git-baserade projekt kallar sitt centrala förvar ursprung.
förvar URL: er
Git stöder många sätt att referera till ett fjärrförråd., Två av de enklaste sätten att komma åt en avlägsen repo är via HTTP och SSH protokoll. HTTP är ett enkelt sätt att tillåta anonym, skrivskyddad tillgång till ett förråd. Till exempel:
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 behöver ett giltigt SSH-konto på värddatorn, men annat än det stöder Git autentiserad åtkomst via SSH ut ur lådan. Moderna säkra 3: e parts hosting lösningar som Bitbucket.com kommer att ge dessa webbadresser för dig.
Git fjärrkommandon
kommandotgit remote
är ett av många Git-kommandon som tar ytterligare bifogade ’underkommandon’., Nedan följer en undersökning av de vanligagit remote
underkommandona.
ADD <NAME> <URL>
lägger till en post i./.git/config
för fjärr som heter på arkivets url .
accepterar ett-f
alternativ, som kommergit fetch
omedelbart efter att fjärrposten har skapats.
accepterar ett--tags
alternativ, somgit fetch
omedelbart och importera varje tagg från fjärrförvaret.,
RENAME <OLD> <NEW>
uppdaterar./.git/config
för att byta namn på posten till . Alla fjärr-spårningsgrenar och konfigurationsinställningar för fjärrkontrollen uppdateras.
REMOVE or RM <NAME>
ändrar./.git/config
och tar bort fjärrkontrollen som heter . Alla fjärr-spårningsgrenar och konfigurationsinställningar för fjärrkontrollen tas bort.
GET-URL <NAME>
matar ut webbadresserna för en fjärrpost.
accepterar--push
, push-webbadresser frågas snarare än hämta webbadresser.,
med--all
visas alla webbadresser för fjärrkontrollen.
SHOW <NAME>
matar ut information på hög nivå om fjärrkontrollen .
PRUNE <NAME>
raderar lokala filialer som inte finns på fjärrförvaret.
accepterar ett--dry-run
alternativ som listar vilka grenar som ska beskäras, men kommer inte att beskära dem.
git remote examples
förutom ursprung är det ofta bekvämt att ha en anslutning till dina lagkamraters arkiv., Till exempel, om din medarbetare, John, upprätthöll ett offentligt tillgängligt förråd på dev.example.com/john.git
, kan du lägga till en anslutning enligt följande:
git remote add john http://dev.example.com/john.git
Om du har denna typ av åtkomst till enskilda utvecklares förråd kan du samarbeta utanför det centrala förvaret. Detta kan vara mycket användbart för små team som arbetar med ett stort projekt.
visar dina fjärrkontroller
som standard kommer kommandotgit remote
att lista tidigare lagrade fjärranslutningar till andra förråd., Detta kommer att producera en rad utgång som listar namnen på” Bokmärke ” namnet på fjärr repos.
$ git remote
origin
upstream
other_users_repo
anropagit remote
med alternativet-v
kommer att skriva ut listan över bokmärkta förvarsnamn och dessutom motsvarande förvarsadress. Alternativet-v
står för ”verbose”. Nedan visas exempelutmatning av verbosegit remote
– utmatning.
lägga till fjärrförråd
kommandotgit remote add
kommer att skapa en ny anslutningspost till ett fjärrförråd., När du har lagt till en fjärrkontroll kan du använda som en bekväm genväg för i andra Git-kommandon. För mer information om den accepterade URL-syntaxen, se avsnittet ”Repository URLs” nedan. Det här kommandot skapar en ny post i arkivets ./.git/config
. Ett exempel på denna konfigurationsfiluppdatering följer:
inspektera en fjärrkontroll
underkommandot för show kan läggas till git remote
för att ge detaljerad utmatning på konfigurationen av en fjärrkontroll., Denna utgång kommer att innehålla en lista över grenar som är associerade med fjärrkontrollen och även de slutpunkter som är fästa för hämtning och tryckning.
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)
hämta och dra från git-Fjärrkontroller
När en fjärrpost har konfigurerats genom användning av kommandotgit remote
kan fjärrnamnet skickas som ett argument till andra Git-kommandon för att kommunicera med fjärrreposten. Både git fetch
och git pull
kan användas för att läsa från ett fjärrförråd., Båda kommandona har olika operationer som förklaras ytterligare på deras respektive länkar.
tryck på GIT-Fjärrkontroller
kommandotgit push
används för att skriva till ett fjärrförråd.
git push <remote-name> <branch-name>
detta exempel kommer att ladda upp det lokala läget för till fjärrförvaret som anges av .
byta namn på och ta bort Fjärrkontroller
git remote rename <old-name> <new-name>
kommandotgit remote
Byt namn är självförklarande. När det körs kommer det här kommandot att byta namn på en fjärranslutning från till ., Dessutom kommer detta att ändra innehållet i ./.git/config
för att byta namn på posten för fjärrkontrollen där också.
git remote rm <name>
kommandotgit remote rm
tar bort anslutningen till fjärrförvaret som anges av parametern. För att visa låt oss ”ångra” fjärrtillägget från vårt sista exempel. Om vi utförgit remote rm remote_test
och sedan undersöker innehållet i./.git/config
kan vi se att posten inte längre finns där.