Portál AbcLinuxu, 12. května 2025 11:59
Mam pocitace A a B a server S. A i B maji ssh pristup na S ale naopak nefunguje a ani A a B mezi sebou ssh pristup nemaji.
Potrebuju sekvenci prikazu jak vse inicalizovat a nasledne prikazy abych mohl celek udrzovat v konzistentnim stavu (kdyz udelam zmeny na A abych mohl pokracovat v praci na B; kdyz udelam zmeny na A a nekonfliktni zmeny na B abych mel ve vysledku na A i B merge tech zmen).
Zkousel jsem to vselijak ale hasne mi to na tom, ze kdyz udelam z A push na S a pak chci odtamtud pullnout tak to chce udelat !strasne! veci pocinaje smazanim vsech souboru. Kdyz mezi tim udelam zmenu na S a commitnu ji tak to krom !strasnych! veci zahlasi navic konflikt.
Predem diky za rady
Uz jsem na to prisel.... mozna.
Na serveru si vytvorim prazny repozitar, na pocitacich udelam
git clone michal@10.0.0.1:/cesta
Na pocitaci A udelam nejake zmeny, pak
git commit -a
git push
na serveru je pak nutne udelat
git reset --hard master
jinak se lisi soubory v pracovnim adresari od HEAD a s tim se neda moc pracovat.
Na pocitaci B pak udelam
git pull
a opet nutnost:
git reset --hard master
Nic prijemneho celkove vzato Neda se to nejak zjednodusit?
git
, ale s Mercurialem mi normálně funguje posloupnost pull – update – úprava – commit – push.
Opravdu nevim, co delam spatne. Push na server upravi repozitar (prilepi na vrcholek master vetve posledni commit) ale NEupravi lokalni soubory na serveru aby odpovidaly posledni verzi. kdybych na serveru udelal commit tak to jakoby revertne ten push... A kdyz dam naopak na pocitaci pull tak se take stahne do repozitare aktualni commit ale opet lokalni soubory zustanou nedotceny.
Tak chybu nedelam, takhle to proste funguje...
http://git.or.cz/gitwiki/GitFaq#Whywon.27tIseechangesintheremoterepoafter.22gitpush.22.3F
NEupravi lokalni soubory na serveru aby odpovidaly posledni verziTo není potřeba. Repository a lokální soubory jsou dvě oddělená místa, mezi kterými se dělá synchronizace pomocí
commit
u a updat
u.
kdybych na serveru udelal commitNejprve musíte na serveru udělat
update
, abyste si lokální soubory sesynchronizoval s repository.
A kdyz dam naopak na pocitaci pull tak se take stahne do repozitare aktualni commit ale opet lokalni soubory zustanou nedotceny.Ano, zaktualizuje se lokální repozitář, ale pak musíte ještě pomocí
update
synchronizovat pracovní adresář s repozitářem.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.