Hoe Gebruik je git met Meerdere Externe Repositories

0
266

git kan worden geconfigureerd om te duwen en te trekken uit een aantal locaties tegelijk, zodat u het opslaan van uw code op twee verschillende platforms, terwijl alleen het behoud van een lokale kopie. Hier is hoe het te installeren.

Afstandsbedieningen, Uitgelegd

De “remote” voor een branche is een URL waar uw lokale git repo haalt veranderingen. Uw lokale git repo is geheel aan jou—het is niet beïnvloed door andere mensen van de code totdat ze duwen hun pleegt op de afstandsbediening. Hopelijk, u bent allen met dezelfde afstandsbediening en alles synchroniseert, maar de afstandsbediening is gewoon een eindpunt. Je zou kunnen klonen die eindpunt en over te schakelen naar een nieuwe afstandsbediening zonder veel probleem.

Wanneer u een kloon van een nieuw archief, de standaard afstandsbediening is ingesteld als “oorsprong.” U vindt de afstandsbedieningen voor een bepaalde git repo door het uitvoeren van:

git remote -v

Dit zal waarschijnlijk geven de URL van uw hoofd repository op GitHub of welke dienst je gebruikt. Als u meerdere afstandsbedieningen, ze worden ook hier.

Maar juist omdat het afkomstig is uit de standaard afstandsbediening, het betekent niet dat je je beperkt tot één. Waarom zou u twee afstandsbedieningen? Nou, een goed gebruik is om AWS is CodeCommit. Het is een gehoste git repository, en heeft veel integraties met hun EC2 compute platform, waardoor voor de automatische code-implementaties voor uw servers, rechtstreeks van de bron besturen.

Echter, CodeCommit is vrij onhandig in vergelijking met een meer gerichte git-aanbieders, zoals GitHub, GitLab, en BitBucket, en niet dezelfde CI/CD integraties die deze aanbieders groot. Zo, je bent opgescheept met een dilemma—gebruik CodeCommit als uw standaard git oplossing, of het bouwen van uw geautomatiseerde code implementatie pijplijn jezelf.

Echter, met meerdere afstandsbedieningen, kunt u gemakkelijk push-code om een tweede archief. Wanneer u wilt bijwerken van uw servers, kunt u op de veranderingen van het primaire bron controle te CodeCommit om te beginnen met de implementatie pijplijn.

Het Instellen Van Meerdere Afstandsbedieningen

Met behulp van git deze manier is eigenlijk heel simpel. U toevoegen afstandsbedieningen op dezelfde manier als u zou duwen van een bestaande map, behalve in plaats van het toevoegen van de “oorsprong” op afstand, geeft u het een andere naam.

git remote add <name> <url>

Dan, wanneer je wilt te duwen aan de tweede afstandsbediening, toevoegen van de externe naam en tak van uw push-opdracht:

git push tweede master

Of, schakelt u de standaard afstandsbediening met –set-upstream:

git push –set-upstream tweede master

Dit is de meest eenvoudige setup, maar het vereist dat u doorgeven of de externe naam als argument, of schakelt u de afstandsbediening om, op elk moment.

Echt, als je gebruik maakt van een twee remote setup, wilt u waarschijnlijk ook een betere manier voor het beheren duwen code naar uw tweede afstandsbediening. De beste manier om dit te verwerken in git is het maken van een andere tak voor de code verplaatst naar de tweede upstream, zoals implementaties AWS CodeCommit.

U kunt een tak met google checkout -b:

git checkout-b-implementatie

Voeg de implementatie op afstand:

git remote add implementatie van <url>

en haal de master branch:

git fetch implementatie master

Vervolgens kunt u de upstream voor de huidige tak door het uitvoeren van:

git branch –set-upstream-te= – implementatie/master

U kunt dit proces herhalen voor elk gewenst aantal filialen, maken het een geweldige methode voor het bijhouden van meerdere afstandsbedieningen. Bedenk wel dat dit slechts een lokale instellingen, dus als u op deze tak aan uw primaire repository, anderen niet hun exemplaren van de implementatie tak geconfigureerd voor het gebruik van de tweede afstandsbediening automatisch.

Het zou ideaal zijn als de tweede tak is slechts één manier, wat betekent dat u alleen duwen code, en niet het trekken van nieuwe code, anders kan je uitvoeren in onverwachte conflicten. Anders dan dat, git werkt prima met meerdere afstandsbedieningen.