Autor | Zpráva | ||
---|---|---|---|
jrw Profil |
#1 · Zasláno: 21. 2. 2014, 09:41:13
Ahoj,
našel jsem na linuxexpresu tento postup (http://www.linuxexpres.cz/praxe/sprava-linuxoveho-serveru-git-na-vlastnim-serveru?highlightWords=git+cloneI) jak nakolonovat na sever repozitář. git clone --bare .git /tmp/muj_repositar.git scp -r /tmp/muj_repositar.git uzivatel@server.example.cz:/home/uzivatel/git/muj_repositar.git git remote add origin ssh://uzivatel@server.example.cz/home/uzivatel/git/muj_repositar.git Chtěl bych se zeptat proč se klonuje nejdřív do /tmp/ a proč se používá --bare. Díky |
||
juriad Profil |
#2 · Zasláno: 21. 2. 2014, 10:43:54
Klonováním na server se myslí vytvoření repozitory určeného jen k ukládání, nikoli k práci.
--bare Make a bare Git repository. That is, instead of creating <directory> and placing the administrative files in <directory>/.git, make the <directory> itself the $GIT_DIR. This obviously implies the -n because there is nowhere to check out the working tree. Also the branch heads at the remote are copied directly to corresponding local branch heads, without mapping them to refs/remotes/origin/. When this option is used, neither remote-tracking branches nor the related configuration variables are created. V takovém repozitory neexistuje pracovní adresář, nemůžeš v něm checkoutovat, ani commitovat. Důvodem k tomuto je: - bezpečnost - nikdo nebude mít snahu pracovat přímo na serveru; nikdo nic nezkazí - velikost - každý soubor je uložen jen jedenkrát; normálně totiž existuje soubor v historii (adresář .git) i v pracovním adresáři Pokud máš u sebe plnohodnotné repozitory, musíš ho napřed „osekat“ naklonováním do jiného adresáře s přepínačem --bare .
Pak toto osekané repozitory nahraješ na server (scp). A nakonec nakonfiguruješ svoje původní repozitory tak, aby origin směřoval na to repozitory na serveru.
Origin je výchozí název vzdáleného repozitory, do kterého se pushuje nebo ze kterého se pulluje (fetchuje). |
||
Časová prodleva: 11 let
|
0