Portál AbcLinuxu, 10. května 2025 05:29
Ahoj,
Na gitorious jsem si "naklonoval" jeden projekt, stáhl si repozitář k sobě a začal dělat úpravy.
Jaký je správný postup jak mít klon aktuální oproti původnímu repozitáři?
Přidal jsem si původní repozitář jako vzdálený a když se tam objeví nějaké nové commity, tak si ho aktualizuji a jeho master brach si sloučím s mým klonem/master větví..
Asi to funguje, ještě jsem nenarazil na konflikt, ale to asi příjde :)
Je nějaký lepší způsob?
Řešení dotazu:
git fetch origin git merge origin/masterpripadne to jde udelat rovnou pres
git pull
U projektů, u nichž nejste v roli správce, je většinou jednodušší, aby vaše hlavní větev stále sledovala větev origin/master a abyste práci prováděli v tematických větvích, jichž se můžete beze všeho vzdát v případě, že budou odmítnuty. Jednotlivé úkoly izolované v tematických větvích mají také tu výhodu, že snáze přeskládáte svou práci, jestliže se průběžně posouvá konec hlavního repozitáře a vaše revize už nelze aplikovat čistě.[1] S. Chacon, Pro Git, (str. 139 v ceskem prekladu, ke stazeni napr. na http://knihy.nic.cz)
git fetch origin
git rebase origin/master
Tím se všechny lokální commity na současné větvi přeskládají úplně nahoru nad vzdálený master. Tenhle způsob dává hezčí a přehlednější historii bez zbytečných merge commitů. Ale přepisuje historii, takže by se neměl dělat na větvích které jsi už nahrál někam jinam.
git checkout master
git pull
git checkout devel
git rebase master
Pri rebasovani navic muzete v commitech trochu poklidit (interaktivni rebase, napr.),
do master branche muzete pretahovat jednotlive commity cherry-pickem atd.
Takže origin/master v mém naklonovaném projektu bude pořád sledovat repozitář s originálem/původním projektem, ok?
V mém klonu si pro vývoj budu dělat branche a v případě potřeby spojím s masterem a odešlu do původního projektu.
Tak?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.