Začněme s úložištěm Git. Vytvoříme složku s názvem projekt.git a inicializujte jej, aby se stal vzdáleným úložištěm:
$ mkdir projekt.sakra$ cd projekt.git /
$ git init --bare
Inicializované prázdné úložiště Git v / Users / zakh_eecs / _work / LearnGIT / git_remote_repository /
projekt.git /
Nyní přejděte do nového umístění, kde můžete vytvořit čistou složku. Vytvořte složku project_source a inicializujte ji pro Git:
$ mkdir project_source$ cd project_source
$ git init
Inicializované prázdné úložiště Git v / Users / zakh_eecs / _work / LearnGIT / git_branching_source /
zdroj_projektu /.git /
$ touch ReadMe.txt
$ git přidat -A
$ git commit -m "Počáteční potvrzení"
[hlavní (root-commit) 176134f] Počáteční potvrzení
1 soubor změněn, 0 vložení (+), 0 odstranění (-)
vytvořit režim 100644 ReadMe.txt
Project_setup je adresář Git s ReadMe.soubor txt. Není však připojen k našemu vzdálenému úložišti. Pojďme nastavit projekt.git jako vzdálené úložiště pro project_source. Můžeme toho dosáhnout pomocí následujícího příkazu:
$ git remote add origin / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.sakra$ git push origin master
Počítání objektů: 3, hotovo.
Psaní objektů: 100% (3/3), 213 bajtů | 0 bajtů / s, hotovo.
Celkem 3 (delta 0), znovu použito 0 (delta 0)
Komu / Uživatelé / zakh_eecs / _work / LearnGIT / git_remote_repository / project.sakra
* [nová větev] pán -> pán
Pomocí příkazu git remote add origin jsme vytvořili spojení mezi projektem.git a project_source. Pomocí příkazu git push origin master jsme posunuli naši hlavní větev do vzdáleného úložiště.
Pojďme zkontrolovat naše pobočky (stále ve složce project_source):
$ git větev* mistr
$ git větev -r
původ / pán
$ git větev -a
* mistr
dálkové ovladače / původ / master
První příkaz zobrazuje pouze lokální větev. Možnost -r zobrazuje vzdálenou větev. Možnost -a zobrazuje místní i vzdálené.
Vytvořme několik poboček v našem pracovním adresáři:
$ git vývoj pobočky$ git větev hotfix
$ git větev experimentální
$ git větev -a
rozvoj
experimentální
oprava hotfix
* mistr
dálkové ovladače / původ / master
Vytvořili jsme větve zvané vývoj, oprava hotfix a experimentální. Zobrazují se v našem seznamu místních poboček. Ale v dálkových ovladačích / původu existuje pouze hlavní větev, protože je to jediná, kterou jsme tlačili. Hvězdný (*) master znamená, že jsme stále v místní pobočce master. Pojďme do vývojové větve, proveďte změny a odešlete je do vzdáleného úložiště.
$ git vývoj pokladnyPřepnuto na větev „vývoj“
$ echo abc> ReadMe.txt
$ git přidat -A
$ git commit -m "Upravená vývojová větev"
[vývoj dd9933e] Upravená vývojová větev
1 soubor změněn, 1 vložení (+)
$ git push origin development
Počítání objektů: 3, hotovo.
Psaní objektů: 100% (3/3), 257 bajtů | 0 bajtů / s, hotovo.
Celkem 3 (delta 0), znovu použito 0 (delta 0)
Komu / Uživatelé / zakh_eecs / _work / LearnGIT / git_remote_repository / project.sakra
* [nová pobočka] vývoj -> vývoj
Podívejme se nyní na všechny větve:
$ git větev -a* vývoj
experimentální
oprava hotfix
mistr
dálkové ovladače / původ / vývoj
dálkové ovladače / původ / master
Vidíme, že jsme v místní pobočce vývoje, ale existuje také pobočka vzdáleného vývoje. Když jsme posunuli naše změny vývojem git push origin development, vytvořilo to vývojovou větev v remotes / origin.
Pojďme nyní ven z project_source a najděte nové místo, kde můžeme mít novou složku. Zde budeme klonovat vzdálené úložiště pomocí následujícího příkazu:
$ git clone / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.sakraKlonování do „projektu“…
Hotovo.
Naklonovali jsme novou kopii nazvanou projekt z projektu.sakra. Vstupte do složky projektu a zkontrolujte větve:
$ cd projekt$ git větev
* mistr
Když Git vytvoří počáteční klon ze vzdáleného úložiště, získá pouze hlavní větev. Pokud použijeme volbu -a, uvidíme:
$ git větev -a* mistr
dálkové ovladače / počátek / HLAVA -> počátek / hlavní
dálkové ovladače / původ / vývoj
dálkové ovladače / původ / master
Všimněte si, že neexistuje žádná pobočka místního rozvoje. Také jsme nikdy neposunuli opravu hotfix a experimentální větve z project_source do projektu.git, takže je nevidíme. Vzdálené úložiště má hlavní a vývojové větve (dálkové ovladače / původ / HEAD -> Origin / Master není větev, pouze vám říká, kam směřuje HEAD).
Pojďme vývojovou větev do našeho pracovního prostředí:
$ git fetch - všeNačítání původu
$ git vývoj pokladny
Vývoj poboček nastaven tak, aby sledoval vývoj vzdálených poboček od počátku.
Přechod na novou větev „vývoj“
Pokud používáte starší verzi Gitu, možná budete muset použít:
$ git checkout vývoj původ / vývojNyní, pokud použijeme příkaz větve, dostaneme:
$ git větev -a* vývoj
mistr
dálkové ovladače / počátek / HLAVA -> počátek / hlavní
dálkové ovladače / původ / vývoj
dálkové ovladače / původ / master
Můžeme provést změny ve vývojové větvi, potvrdit změny a poté je odeslat pomocí příkazu git push origin development.
Závěrem
Při práci s GitHub a BitBucket můžete k připojení ke vzdálenému úložišti použít odkaz HTTPS nebo SSH. Takže nastavíte svůj původ na tyto odkazy. Ale principy vzdálené větve jsou stejné, jak je popsáno zde.
Další studie:
- https: // git-scm.com / docs / git-branch
- https: // git-scm.com / book / en / v2 / Git-on-the-Server-Setting-Up-the-Server
- https: // nápověda.github.com / articles / adding-an-existing-project-to-github-using-the-command-line /
- https: // nápověda.github.com / articles / push-to-a-remote /