Začnime s úložiskom Git. Vytvoríme priečinok s názvom projekt.git a inicializujte ho, aby sa stal vzdialeným úložiskom:
$ mkdir projekt.git$ cd projekt.git /
$ git init --bare
Inicializované prázdne úložisko Git v / Users / zakh_eecs / _work / LearnGIT / git_remote_repository /
projekt.git /
Teraz choďte na nové miesto, kde môžete vytvoriť čistý priečinok. Vytvorte priečinok project_source a inicializujte ho pre Git:
$ mkdir project_source$ cd project_source
$ git init
Inicializované prázdne úložisko Git v / Users / zakh_eecs / _work / LearnGIT / git_branching_source /
project_source /.git /
$ touch ReadMe.TXT
$ git pridať -A
$ git commit -m "Počiatočný záväzok"
[master (root-commit) 176134f] Počiatočný záväzok
1 súbor zmenený, 0 vložení (+), 0 odstránení (-)
vytvorte režim 100644 ReadMe.TXT
Project_setup je adresár Git s ReadMe.súbor txt. Nie je však pripojený k nášmu vzdialenému úložisku. Poďme pripraviť projekt.git ako vzdialené úložisko pre project_source. Toho môžeme dosiahnuť pomocou nasledujúceho príkazu:
$ git remote add origin / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.git$ git push pôvodný majster
Počítanie objektov: 3, hotovo.
Písacie objekty: 100% (3/3), 213 bajtov | 0 bajtov / s, hotovo.
Celkom 3 (delta 0), znovu použité 0 (delta 0)
Komu / Používatelia / zakh_eecs / _work / LearnGIT / git_remote_repository / projekt.git
* [nová pobočka] pán -> pán
Príkazom git remote add origin sme vytvorili spojenie medzi projektom.git a project_source. Pomocou príkazu git push origin master sme našu hlavnú vetvu presunuli do vzdialeného úložiska.
Poďme skontrolovať naše pobočky (stále v priečinku project_source):
$ git pobočka* pán
$ git pobočka -r
pôvod / majster
$ git pobočka -a
* pán
diaľkové ovládače / pôvod / majster
Prvý príkaz zobrazuje iba lokálnu vetvu. Voľba -r zobrazuje vzdialenú vetvu. A voľba -a zobrazuje miestne aj vzdialené.
Vytvorme niekoľko pobočiek v našom pracovnom adresári:
$ git vývoj pobočiek$ git rýchla oprava pobočky
$ git pobočka experimentálna
$ git pobočka -a
rozvoja
experimentálne
rýchla oprava
* pán
diaľkové ovládače / pôvod / majster
Vytvorili sme vetvy nazývané vývojové, rýchle a experimentálne. Zobrazujú sa v našom zozname miestnych pobočiek. Ale v diaľkových ovládačoch / pôvode je iba hlavná vetva, pretože to je jediná, ktorú sme tlačili. Hviezdny (*) majster znamená, že sme stále v miestnej pobočke majstra. Poďme do vývojovej vetvy, vykonajme zmeny a prenesme ich do vzdialeného úložiska.
$ git vývoj pokladnePrechod na pobočku „vývoj“
$ echo abc> ReadMe.TXT
$ git pridať -A
$ git commit -m "Upravená vývojová vetva"
[development dd9933e] Upravená vývojová vetva
1 súbor zmenený, 1 vloženie (+)
$ git push vývoj pôvodu
Počítanie objektov: 3, hotovo.
Písacie objekty: 100% (3/3), 257 bajtov | 0 bajtov / s, hotovo.
Celkom 3 (delta 0), znovu použité 0 (delta 0)
Komu / Používatelia / zakh_eecs / _work / LearnGIT / git_remote_repository / projekt.git
* [nová pobočka] vývoj -> vývoj
Poďme teraz skontrolovať všetky pobočky:
$ git pobočka -a* vývoj
experimentálne
rýchla oprava
pán
diaľkové ovládače / pôvod / vývoj
diaľkové ovládače / pôvod / majster
Vidíme, že sa nachádzame v pobočke miestneho rozvoja, ale existuje aj pobočka vzdialeného rozvoja. Keď sme zmeny posunuli vývojom git push origin development, vytvorilo sa to vývojové odvetvie v remotes / origin.
Poďme teraz preč z zdroja project_source a nájdime nové miesto, kde môžeme mať nový priečinok. Tu budeme klonovať vzdialené úložisko pomocou nasledujúceho príkazu:
$ git clone / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.gitKlonovanie do „projektu“ ..
hotový.
Klonovali sme novú kópiu s názvom projekt z projektu.git. Choďte do priečinka projektu a skontrolujte vetvy:
$ cd projekt$ git pobočka
* pán
Keď Git vytvorí počiatočný klon zo vzdialeného úložiska, získa iba hlavnú vetvu. Ak použijeme voľbu -a, vidíme:
$ git pobočka -a* pán
diaľkové ovládače / pôvod / HLAVA -> pôvod / majster
diaľkové ovládače / pôvod / vývoj
diaľkové ovládače / pôvod / majster
Všimnite si, že neexistuje žiadna pobočka miestneho rozvoja. Tiež sme nikdy neposunuli rýchlu opravu a experimentálne vetvy z project_source do projektu.jaj, tak ich nevidíme. Vzdialené úložisko má hlavné a vývojové vetvy (remotes / origin / HEAD -> origin / master nie je pobočka, iba vám hovorí, kam smeruje HEAD).
Poďme vývojovú vetvu do nášho pracovného prostredia:
$ git fetch - všetkoNačítava sa pôvod
$ git vývoj pokladne
Vývoj pobočiek nastavený na sledovanie vývoja vzdialených pobočiek od ich vzniku.
Prechod na novú vetvu 'vývoj'
Ak používate staršiu verziu Gitu, možno budete musieť použiť:
$ git checkout vývoj vývoja / vývojaTeraz, ak použijeme príkaz branch, dostaneme:
$ git pobočka -a* vývoj
pán
diaľkové ovládače / pôvod / HLAVA -> pôvod / majster
diaľkové ovládače / pôvod / vývoj
diaľkové ovládače / pôvod / majster
Môžeme vykonať zmeny vo vývojovej vetve, vykonať zmeny a potom ich stlačiť pomocou príkazu git push origin development.
Na záver
Pri práci s GitHub a BitBucket môžete na pripojenie k vzdialenému úložisku použiť odkaz HTTPS alebo SSH. Takže týmto odkazom nastavíte pôvod. Ale princípy vzdialenej vetvy sú rovnaké, ako sú tu popísané.
Ďalšie štúdium:
- https: // git-scm.com / docs / git-branch
- https: // git-scm.com / book / en / v2 / Git-on-the-Server-Setting-Up-the-Server
- https: // pomoc.github.com / articles / adding-an-existing-project-to-github-using-the-command-line /
- https: // pomoc.github.com / articles / push-to-a-remote /