2. Klonovat nebo vidličkovat?
Když se někdo podívá na vzdálené úložiště, mohou se stát čtyři věci. Nejpravděpodobnější postup (případ 0) je, že ho ignorují nebo mu dávají hvězdu, pokud se cítí velkorysí.
V prvním případě, pokud byl README dostatečně přesvědčivý, mohli by jej klonovat.
Klonování vzdáleného úložiště pomocí příkazů jako git clone https://github.com/username/awesome_repo
vytvoří přesnou kopii awesome_repo
na vašem místním počítači vám umožní přístup k celé historii projektu Git a také přístup pro zápis ke všem souborům. Pokud však provedete změny v této místní kopii awesome_repo
, jeho vzdálená kopie nebude cítit nic.
Ve druhém případě, pokud by byl README ještě přesvědčivější, mohl by ho člověk rozvětvit.
Když vidličku awesome_person
je awesome_repo
na Githubu budete mít přesnou kopii awesome_repo
pod vaším účtem.
Vaše stránka GitHub bude mít novou your_username/awesome_repo
úložiště se stejným obsahem a historií jako awesome_person/awesome_repo
. Pokud chcete provést změny v této kopii, můžete klonovat your_username/awesome_repo
takže je také na vašem místním počítači.
Existuje řada důvodů, proč by někdo mohl vidličku jiného repo. Důvodem číslo jedna je přispět k someone/awesome_repo
odesláním žádostí o stažení (viz níže). Dalším důvodem je vytvoření nového projektu založeného na původním kódu, aniž by to ovlivnilo.
Pozoruhodným příkladem toho je komunita Manim GitHub, což je udržovanější a zdokumentovanější vidlice legendární Manim repository Autor: Grant Sanderson (tvůrce 3blue1brown a všech jeho videí).
Chcete-li rozlišovat mezi originály a vidličkami, GitHub přidává ” vidličku z
original_repo
“štítek na stránkách úložiště.
Třetí případ je, když přistupujete k jednomu ze svých vlastních vzdálených úložišť z jiného počítače. Například jste nechali notebook v čistírně a chcete pokračovat v práci na projektu v kanceláři.
V tomto případě stačí naklonovat repo a stáhnout jeho obsah do office Mac. Pokud však chcete synchronizovat změny, instalace Git na Macu musí být pod vaším uživatelským jménem GitHub.