Forum » Programska oprema » Source control
Source control
cleanac ::
Trenutno uporabljam SVN in TFS, ki pa ne ustreza mojim zahtevam oz. je preveč »čaranja«.
Imam en centralni strežnik, do katerega dostopam iz različnih lokacij. Na teh lokacijah je NAS strežnik, ki služi temu, da so podatki centralizirani v lokalnem omrežju. Do NAS strežnika dostopa enaka oseba iz večih lokacij (računalnikov).
Želim doseči to, da, ko se v lokalnem omrežju preselim na drug računalnik ne rabim pošiljati kode čez glavni strežnik, ampak samo lokalno na NAS, saj gre ponavadi za nedokončane dele kode, in jo prenesem na drug računalnik.
Kar sem izvedel na internetu je bilo to, da bi najprimernejši bil GIT, ampak si ne znam predstavljati kako točno deluje med lokalnimi repositoriji. Imam nekaj izkušenj z HG (Mercurial), ki pa bi ga v tem primeru verjetno moral uporabljati v kombinaciji z SVN, kar mi ne ustreza najbolje, saj moram imeti nameščeni 2 aplikaciji na vsaki mašini.
Delovati mora na OSX in Windows7+.
Torej, kaj priporočate? Izkušnje?
Imam en centralni strežnik, do katerega dostopam iz različnih lokacij. Na teh lokacijah je NAS strežnik, ki služi temu, da so podatki centralizirani v lokalnem omrežju. Do NAS strežnika dostopa enaka oseba iz večih lokacij (računalnikov).
Želim doseči to, da, ko se v lokalnem omrežju preselim na drug računalnik ne rabim pošiljati kode čez glavni strežnik, ampak samo lokalno na NAS, saj gre ponavadi za nedokončane dele kode, in jo prenesem na drug računalnik.
Kar sem izvedel na internetu je bilo to, da bi najprimernejši bil GIT, ampak si ne znam predstavljati kako točno deluje med lokalnimi repositoriji. Imam nekaj izkušenj z HG (Mercurial), ki pa bi ga v tem primeru verjetno moral uporabljati v kombinaciji z SVN, kar mi ne ustreza najbolje, saj moram imeti nameščeni 2 aplikaciji na vsaki mašini.
Delovati mora na OSX in Windows7+.
Torej, kaj priporočate? Izkušnje?
dolenc ::
Pri gitu ima vsak uporabnik svoj lokalen repozitorij, ni tko kot pri svnju ko zalockaš fajl na strežniku, da ga ostali ne morejo urejat. Delaš na svojem repozitoriju, oziroma vsi delajo, ko komitajo je to vse lokalno, vsak komit ti ustavri neko stanje, ko končaš delo, pusheš gor na strežnik pa on vse pohendla.
Lahko maš nek delovni branch, ki je ločen od glavnega, iz katerega pošiljaš gor in ostali do potegnejo direkt iz tvojega, pa ko končaš/jo spet združiš z glavnim itd...
Glede na to kar si napisal bi ti znal biti kar všeč, zadeva leti :)
Poguglej še mal gitFlow, da videš v slikci kako zgleda.
Lahko maš nek delovni branch, ki je ločen od glavnega, iz katerega pošiljaš gor in ostali do potegnejo direkt iz tvojega, pa ko končaš/jo spet združiš z glavnim itd...
Glede na to kar si napisal bi ti znal biti kar všeč, zadeva leti :)
Poguglej še mal gitFlow, da videš v slikci kako zgleda.
mojca ::
Nisem prepričana, da razumem vprašanje oz. ne vem, kako točno imaš stvari skonfigurirane, zato ne vem, ali je moj odgovor sploh primeren. Npr. git-annex je orodje, ki ti lahko pomaga pri sinhronizaciji datotek med računalniki. Če prav razumem, lahko skonfiguriraš tako, da se samo sinhronizira in imaš na eni mašini SVN checkout z nekaj nedokončane kode, git-annex pa ti te datoteke samodejno prenese na drugo mašino. Morda se pa motim.
(Projekt spremljam od kickstarterja dalje, ampak sem imela vedno težave z namestitvijo, zdaj pa že nekaj časa nisem testirala.)
Z golim git-om lahko dosežeš to, da npr. konvertiraš repozitorij iz SVN-ja v GIT, delaš lokalne branche, kamor shranjuješ pol-delujočo kodo (spremembe moraš poriniti na lokalni strežnik, da jih potem lahko potegneš iz druge mašine). Ko koda deluje, vse commite združiš v en samo commit, ki ga pošlješ v SVN trunk (neposredno z ukazom iz GIT-a). To je sicer teorija. Z upstream SVN repozitorijem še nisem komunicirala preko GIT-a, ne vidim pa razloga, zakaj opisano ne bi delovalo. Vprašanje je samo, ali tebi ustreza tak workflow.
Živega srebra pa ne poznam.
(Projekt spremljam od kickstarterja dalje, ampak sem imela vedno težave z namestitvijo, zdaj pa že nekaj časa nisem testirala.)
Z golim git-om lahko dosežeš to, da npr. konvertiraš repozitorij iz SVN-ja v GIT, delaš lokalne branche, kamor shranjuješ pol-delujočo kodo (spremembe moraš poriniti na lokalni strežnik, da jih potem lahko potegneš iz druge mašine). Ko koda deluje, vse commite združiš v en samo commit, ki ga pošlješ v SVN trunk (neposredno z ukazom iz GIT-a). To je sicer teorija. Z upstream SVN repozitorijem še nisem komunicirala preko GIT-a, ne vidim pa razloga, zakaj opisano ne bi delovalo. Vprašanje je samo, ali tebi ustreza tak workflow.
Živega srebra pa ne poznam.
cleanac ::
kod ::
Napisal si da si poizkušal s HG(Mercurial), tako da bi ti kar tega priporočal.
Nevem pa kakšno potrebo imaš po tem da ga kombiniraš s svn.
Na centralni strežnik si namesti mercurial, ter nato klienta na vseh pc-jih s katerimi misliš dostopat do njega.
Za začetek si projekt na strežniku konvertiraš iz svn-ja v mercurial. Nato si na lokalni mašini narediš klon tega projekta, ter delaš comite lokalno.
Če bi rad te tvoje spremembe imel na drugem pc-ju brez da bi šle preko centralnega repozitorija na strežniku imaš več možnosti:
1. narediš izvoz sprememb(export diff), ki jih nato uvoziš na drugem pc-ju
2. lahko narediš patch, ki ga nato ravno tako uvoziš na drugem pc-ju
3. če pa uporabljaš za klienta tortoiseHg, pa imaš še možnost da si požene lokalni web strežnik z repozitorijem, s katerega si potem na drugem računalniku pobereš spremembe.
Ko je tvoja koda delujoča in bi jo rad imel na centralnem repozitoriju enostavno narediš push iz lokalnega pc-ja na server.
Lako pa kot ti je že dolenc napisal narediš delovni branch na centralnem repozitoriju preko katerega delaš in ko bi to rad združil z glavnim enostavno naredi merge.
Samo da bo jasno Hg(mercurial) je zelo podoben GIT-u, le da je bolj enostaven za uporabo.
Enostaven uvod v Hg imaš na HgInit.
Glede branchev pa tu
Nevem pa kakšno potrebo imaš po tem da ga kombiniraš s svn.
Na centralni strežnik si namesti mercurial, ter nato klienta na vseh pc-jih s katerimi misliš dostopat do njega.
Za začetek si projekt na strežniku konvertiraš iz svn-ja v mercurial. Nato si na lokalni mašini narediš klon tega projekta, ter delaš comite lokalno.
Če bi rad te tvoje spremembe imel na drugem pc-ju brez da bi šle preko centralnega repozitorija na strežniku imaš več možnosti:
1. narediš izvoz sprememb(export diff), ki jih nato uvoziš na drugem pc-ju
2. lahko narediš patch, ki ga nato ravno tako uvoziš na drugem pc-ju
3. če pa uporabljaš za klienta tortoiseHg, pa imaš še možnost da si požene lokalni web strežnik z repozitorijem, s katerega si potem na drugem računalniku pobereš spremembe.
Ko je tvoja koda delujoča in bi jo rad imel na centralnem repozitoriju enostavno narediš push iz lokalnega pc-ja na server.
Lako pa kot ti je že dolenc napisal narediš delovni branch na centralnem repozitoriju preko katerega delaš in ko bi to rad združil z glavnim enostavno naredi merge.
Samo da bo jasno Hg(mercurial) je zelo podoben GIT-u, le da je bolj enostaven za uporabo.
Enostaven uvod v Hg imaš na HgInit.
Glede branchev pa tu
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | GitHub PomočOddelek: Pomoč in nasveti | 5729 (3991) | BivšiUser2 |
» | Motivacijski video za "project management/team building" (uvod v teden hekanja OS X-aOddelek: Sedem umetnosti | 4385 (3972) | djabi |
» | GitHubOddelek: Programiranje | 4657 (4403) | BigWhale |
» | Source version control za domačo uporabo?Oddelek: Programiranje | 7051 (6122) | MrBrdo |
» | Subversion (SVN) - kaj priporočate?Oddelek: Programiranje | 4160 (2774) | imagodei |