az SVN egyetlen központosított adattárat használ a fejlesztők kommunikációs csomópontjaként, az együttműködés pedig a fejlesztők munkamásolatai és a központi adattár közötti változások átadásával történik. Ez különbözik a GIT elosztott együttműködési modelljétől, amely minden fejlesztőnek saját másolatot ad a tárolóról, kiegészítve a saját helyi előzményeivel és fiókszerkezetével. A felhasználóknak általában meg kell osztaniuk egy sor kötelezettséget, nem pedig egyetlen változtatást., Ahelyett, hogy egy működő másolatból a központi adattárba váltana, a Git lehetővé teszi az egész fiókok megosztását a tárolók között.

a git remote parancs a szélesebb rendszer egy darabja, amely felelős a változások szinkronizálásáért. A git remote paranccsal regisztrált rekordokat a git fetch, git push és git pull parancsokkal együtt használják. Ezeknek a parancsoknak mindegyiknek megvan a saját szinkronizálási felelőssége, amelyet a megfelelő linkeken meg lehet vizsgálni.,

Git remote

a git remote parancs lehetővé teszi más tárolókhoz való kapcsolatok létrehozását, megtekintését és törlését. A távoli kapcsolatok inkább könyvjelzők, mint Közvetlen linkek más tárolókba. Ahelyett, hogy valós idejű hozzáférést biztosítana egy másik tárolóhoz, kényelmes nevekként szolgálnak, amelyek felhasználhatók egy nem túl kényelmes URL hivatkozására.

például az alábbi ábra két távoli kapcsolatot mutat a repo-ból a központi repo-ba, valamint egy másik fejlesztő repo-jába., Ahelyett, hogy a teljes URL-címükre hivatkozna, átadhatja az origin and john parancsikonokat más Git parancsoknak.

Git remote usage overview

The git remoteparancs lényegében egy interfész kezelésére egy listát a távoli bejegyzéseket, amelyek a tárolóban tárolt ./.git/config fájl. A távoli lista aktuális állapotának megtekintéséhez a következő parancsok használhatók.

Git távoli konfigurációk megtekintése

git remote

sorolja fel a távoli kapcsolatokat más tárolókhoz.,

git remote -v

ugyanaz, mint a fenti parancs, de tartalmazza az egyes kapcsolatok URL-jét.

Git távoli konfigurációk létrehozása és módosítása

agit remote parancs szintén kényelmi vagy”segítő”módszer a repo./.git/config fájl módosításához. Az alábbiakban bemutatott parancsok lehetővé teszik a kapcsolatok kezelését más tárolókkal. A következő parancsok módosítják a repo /.git/config fájlt., A következő parancsok eredménye a ./.git/config fájl szövegszerkesztővel történő közvetlen szerkesztésével is elérhető.

git remote add <name> <url>

Hozzon létre egy új kapcsolatot egy távoli tárolóval. Hozzáadása után egy távoli, akkor képes lesz arra, hogy egy kényelmes parancsikont más Git parancsokat.

git remote rm <name>

távolítsa el a kapcsolatot a nevű távoli tárolóval.

git remote rename <old-name> <new-name>

Távoli kapcsolat átnevezése.,

Git remote discussion

Git célja, hogy minden fejlesztő egy teljesen elszigetelt fejlesztői környezet. Ez azt jelenti, hogy az információkat nem továbbítják automatikusan oda-vissza a tárolók között. Ehelyett a fejlesztőknek manuálisan kell húzniuk az upstream elkötelezettségeket a helyi tárolóba, vagy manuálisan vissza kell állítaniuk a helyi elkötelezettségeket a központi tárolóba. A git remote parancs valójában csak egy egyszerűbb módja annak, hogy URL-eket továbbítsunk ezekre a” megosztás ” parancsokra.,

az origin Remote

Ha egy tárolót klónoz a git clone segítségével, automatikusan létrehoz egy távoli kapcsolatot, az origin nevű kapcsolatot, amely a klónozott tárolóra mutat. Ez hasznos a fejlesztők létre egy helyi másolatot a központi adattár, mivel ez egy egyszerű módja annak, hogy húzza upstream változások vagy közzé helyi vállal. Ez a viselkedés az is, amiért a legtöbb Git-alapú projekt hívja a központi adattár eredetét.

tároló URL-ek

A Git számos módot támogat a távoli adattár hivatkozására., A távoli repo elérésének két legegyszerűbb módja a HTTP és az SSH protokollok. A HTTP egy egyszerű módja annak, hogy névtelen, csak olvasható hozzáférést biztosítsunk a tárolóhoz. Például:

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

szüksége lesz egy érvényes SSH-fiókra a gazdagépen, de ettől eltekintve a GIT támogatja a hitelesített hozzáférést az SSH-n keresztül a dobozból. Modern biztonságos 3rd party hosting megoldások, mint például Bitbucket.com megadja ezeket az URL-eket az Ön számára.

Git remote commands

the git remote command is one of many Git commands that takes additional appended ‘subcommands’., Az alábbiakban az általánosan használt git remote subcommands vizsgálata látható.

ADD <NAME> <URL>

hozzáad egy rekordot a ./.git/config távoli nevű a tároló url .

elfogadja a-f opciót, amelygit fetch közvetlenül a távoli rekord létrehozása után.

elfogadja a --tags opciót, amely git fetch azonnal importál minden címkét a távoli tárolóból.,

RENAME <OLD> <NEW>

frissítések ./.git/config átnevezni a rekordot . A távvezérlő összes távkövetési ágát és konfigurációs beállításait frissítjük.

REMOVE or RM <NAME>

módosítja ./.git/config és eltávolítja a megnevezett távirányítót . A távvezérlő összes távkövetési ágát és konfigurációs beállításait eltávolítják.

GET-URL <NAME>

egy távoli rekord URL-jét adja ki.

elfogadja a--push, a push URL-eket lekérdezik, nem pedig az URL-eket.,

a--all, minden URL-t a távoli fog szerepelni.

SHOW <NAME>

magas szintű információkat ad ki a távvezérlőről .

PRUNE <NAME>

törli azokat a helyi fiókokat, amelyek nincsenek jelen a távoli tárolóban.

elfogadja a --dry-run opciót, amely felsorolja, hogy mely ágakat kell metszeni, de valójában nem vágja le őket.

Git remote examples

az origin mellett gyakran kényelmes kapcsolatot létesíteni a csapattársak tárolóival., Például, ha a munkatársa, John, karbantartott egy nyilvánosan hozzáférhető adatbázis dev.example.com/john.git, akkor adjunk hozzá egy kapcsolat a következőképpen:

git remote add john http://dev.example.com/john.git

Hogy ez a fajta hozzáférést egyes fejlesztők tárolóból lehetővé teszi, hogy együttműködjenek kívül a központi adattár. Ez nagyon hasznos lehet egy nagy projekten dolgozó kis csapatok számára.

alapértelmezés szerint agit remoteparancs megjeleníti a korábban tárolt távoli kapcsolatokat más tárolókhoz., Ez egysoros kimenetet eredményez, amely felsorolja a távoli repók “könyvjelző” nevének nevét.

$ git remote
origin
upstream
other_users_repo

git remote A -v opció kiírja a könyvjelzővel ellátott tárolónevek listáját, továbbá a megfelelő tároló URL-jét. A -v opció jelentése”verbose”. Az alábbiakban példa kimenet verbose git remote kimenet.

távoli Tárolók hozzáadása

a git remote add parancs új kapcsolatrekordot hoz létre egy távoli tárolóhoz., Hozzáadása után egy távoli, akkor képes lesz arra, hogy egy kényelmes parancsikont más Git parancsokat. Az elfogadott URL-szintaxisra vonatkozó további információkért tekintse meg az alábbi “tároló URL-ek” részt. Ez a parancs egy új rekordot hoz létre a tároló ./.git/config. A konfigurációs fájl frissítésének egy példája a következő:

távvezérlő ellenőrzése

a megjelenítési alparancsot a git remote fájlhoz lehet csatolni, hogy részletes kimenetet adjon a távoli konfigurációjáról., Ez a kimenet tartalmazza a távvezérlőhöz társított ágak listáját, valamint a lekéréshez és nyomáshoz csatolt végpontokat.

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)

Agit remoteparancs használatával egy távoli rekord konfigurálása után a távoli név argumentumként továbbítható más Git parancsokhoz a távoli repo-val való kommunikációhoz. Mind agit fetch, mind a git pull használható távoli tárolóból történő olvasáshoz., Mindkét parancsnak különböző műveletei vannak, amelyeket további mélységben ismertetnek a megfelelő linkeken.

nyomja meg a Git remotes

agit push parancsot használják, hogy írjon egy távoli tároló.

git push <remote-name> <branch-name>

Ez a példa feltölti az Helyi állapotát a megadott távoli tárolóba .

átnevezése és eltávolítása távirányító

git remote rename <old-name> <new-name>

a parancs git remote átnevezés magától értetődő. Ha végrehajtásra kerül, ez a parancs átnevezi a távoli kapcsolatot ., Továbbá, ez módosítja a tartalmát ./.git/config átnevezni a rekordot a távoli is.

git remote rm <name>

a git remote rm parancs eltávolítja a kapcsolatot a paraméter által megadott távoli tárolóval. Annak bizonyítására, hogy “visszavonjuk” a távoli kiegészítést az utolsó példánkból. Ha végrehajtjuk a git remote rm remote_test, majd megvizsgáljuk a ./.git/config tartalmát, láthatjuk, hogy a rekord már nincs ott.