» »

Source version control za domačo uporabo?

Source version control za domačo uporabo?

kihc ::

Zdravo,

občasno programiram, manjši projekti, samo bi vseeno rad imel nek sistem za nadzor nad programsko kodo. Kolikor gledam je GIT trenutno najbolj pametna odločitev. Malo ga že uporabljam, ne obvladam pa še povsem zadeve.

Nekaj sem tuhtal o:

- git lokalno v dropbox folder
- git remote na windows share
- github (7€/mesec)

Kakšen drug predlog?

Uporabljam Eclipse, PyCharm, VS na Win7 OS
x

FrEaKmAn ::

ali pa tudi googlecode - ima SVN, Git...

kihc ::

Google code nima privatnih repositorijev.

Gledam pa bitbucket. Omejitev free računa je le 5 uporabnikov na repositorij, kar je meni itak vseeno ker rabim samo zase. Kdo uporablja?
x

c00L3r ::

Jaz priporočam http://unfuddle.com/. Podpirajo GIT in SVN. Za manjše projekte je brezplačen paket čist dovolj. To je do 200mb in 2 uporabnika.

Mavrik ::

kihc je izjavil:

Google code nima privatnih repositorijev.

Gledam pa bitbucket. Omejitev free računa je le 5 uporabnikov na repositorij, kar je meni itak vseeno ker rabim samo zase. Kdo uporablja?


BitBucket je najverjetneje drugi največji tak host poleg GitHuba in nas ga kar nekaj uporablja pa smo kar zadovoljni. Predvsem je prednost v tem, da imaš lahko neomejeno privatnih repozitorijev in ti ne težijo z omejitvijo prostora.
The truth is rarely pure and never simple.

FrEaKmAn ::

pol pa tko povej :)

mogoče par idej - http://stackoverflow.com/questions/5979...

krho ::

Sam tudi lokalno uporabljam git.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

MrBrdo ::

Jz uporabljam:
- za vse svoje projekte git
- za tuje projekte ce imajo svn uporabljam git-svn
- za svoje opensource stvari github
- za svoje privat stvari imam repoje na VPSu

Drugace je github res super, ce bi bilo zastojn za privat bi imel vse tam :) Ce delas web zadeve potem se splaca imet pac VPS pa das kar tja. Je pa res da nimas bombonckov kot jih ima github. Morda bom v prihodnosti tudi placal github, ceprav niso ravno najbolj poceni. Omenjene alternative pa bom tudi pogledal :) Bojim se samo da bojo eventuelno presli na isti placljivi model kot github.
MrBrdo

Zgodovina sprememb…

  • spremenilo: MrBrdo ()

Looooooka ::

Kar se tice githuba...a je kdo kje videl kksn dobr zastonj server softvare...da bi zadevo sam hostal(na na disku ampak strezniku).
Neka git alternativa visualsvn serverju in klientu z integracijo v Visual Studio?

MrBrdo ::

za integracijo z VS se ziher komot da zrihtat...
http://www.google.si/search?sourceid=ch...

za server pa po mojih izkusnjah ni kaksnega softwarea ki bi se resnicno lahko sploh primerjal z githubom... drugace edini tak ki ga poznam je gitorious. sem nekaj probaval sam nisem nikol resno uporabljal tko da tezko kaj vec povem
osebno uporabljam gitosis na strezniku, ker je zelo enostaven za nastavit... ne ponuja pa nobenega web interfacea. na OS X je kar vredu klient GitX. tako da v bistvu ne rabis nujno webinterfacea ce imas dober GUI lokalno. sicer pa ko se navadis na command line gita se da veliko stvari kar enostavno pocet, jaz GUI uporabljam samo za gledanje preteklih commitov in branchov
MrBrdo

Zgodovina sprememb…

  • spremenilo: MrBrdo ()

Spura ::

Git je namenjen distribuiranemu razvoju z veliko branchi. Torej zelo brezveze za enega razvijalca.

arjan_t ::

Spura je izjavil:

Git je namenjen distribuiranemu razvoju z veliko branchi. Torej zelo brezveze za enega razvijalca.


ker če je samo en si omejen kako?

Spura ::

Zato ker ce ne mislis imet vec repozitorijev ti featureji GITa, ki jih SVN naprimer nima, ne pridejo do izraza.

MrBrdo ::

Kaj ma to veze koliko repozitorijev imas?? A ce mas manj repozitorijev je pa SVN boljsi al kaj? To je res neumno razmisljanje, a če ne rabim featurjev Worda pomeni da moram pisat v Notepadu?
Sicer pa tudi če si samo 1 ima git še vedno veliko prednosti:
- znatno hitrejše delovanje
- možnost offline commitov
- če delaš opensource lahko enostavno forkaš na githubu
- manj smetenja z version control podatki (samo 1 .git direktorij)
- bolj enostavno in local branchanje (veliko hitrejse)
- lahko zelo enostavno naredis patche oz diff fajle
itd itd.
A sem omenil hitrost? :) Sori SVN fanboyi ampak SVN se z gitom sploh ne more primerjat.
MrBrdo

jan_g ::

Ja, se strinjam, izredno hiter in zelo učinkovit tudi pri branchanju/merganju. Odkar sem ga začel uporabljati, ne grem več nazaj na svn. Tudi v primeru, da sam razvijaš projekt, se zna zgoditi, da vzporedno razvijaš več vej in sproti mergaš spremembe (med vsemi, samo med nekaterimi, ...). Zase sem opazil, da je to postal privzet način razvoja, predtem sem v svn-ju večinoma delal v trunku, branche pa sem imel zgolj za kakšne obsežnejše spremembe in še takrat sem redko preklapljal med njimi.

Zgodovina sprememb…

  • spremenil: jan_g ()

krho ::

gitlab :) Pa veliko užitkov pri postavitvi ruby okolja.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

mojca ::

GitHub lahko namestiš tudi na svoj strežnik. Samo malenkost predrago je za osebno rabo.

Hvala za link na gitlab. Screenshoti so mi zaenkrat bistveno bolj všeč od katerekoli druge rešitve.

Nekdo je projekt, ki me zanima in ki sicer nima svojega version controla, uvozil v git. Gitorious za vsako posamezno spremembo pravi, da zaradi prevelikega diff-a ne more prikazati sprememb. To pomeni, da je zame povsem neuporaben vmesnik.

Spura ::

MrBrdo je izjavil:

Kaj ma to veze koliko repozitorijev imas?? A ce mas manj repozitorijev je pa SVN boljsi al kaj? To je res neumno razmisljanje, a če ne rabim featurjev Worda pomeni da moram pisat v Notepadu?
Sicer pa tudi če si samo 1 ima git še vedno veliko prednosti:
- znatno hitrejše delovanje
- možnost offline commitov
- če delaš opensource lahko enostavno forkaš na githubu
- manj smetenja z version control podatki (samo 1 .git direktorij)
- bolj enostavno in local branchanje (veliko hitrejse)
- lahko zelo enostavno naredis patche oz diff fajle
itd itd.
A sem omenil hitrost? :) Sori SVN fanboyi ampak SVN se z gitom sploh ne more primerjat.
Ubistvu si tocno to povedal kar sm jst reku. Forkanje, branchanje, offline commiti so tocno to kar sem rekel (distributed - imas lokani repozitorij in remote master), in jih jst osebno na projektu kjer sem sam nikoli nisem rabil.Poleg tega sem se dost nafukal pri uporabi v primerjavi s SVNjem (se zdej ne znam uporabljat tricetr plugina v eclipsu). Za hitrost me pa boli kurac.

krho ::

mojca je izjavil:

GitHub lahko namestiš tudi na svoj strežnik. Samo malenkost predrago je za osebno rabo.
malenkost :)) Lahko rečemo, da je 5.000$ na 20 uporabnikov, kolikor hočejo za Github enterprise malenkost.:P
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

mojca ::

@MrBrdo: "manj smetenja z version control podatki" velja tudi za SVN 1.7, tako da to ni več pravi argument za preferenco git-a.

Jaz spisku dodajam še dve prednosti git-a:
- možnost spreminjanja zgodovine (zame je to ključnega pomena)
- .git je zanemarljivo majhen (670 povsem netrivialnih commitov - Gitorious niti enega ni sposoben prikazati - zanj so vsi diffi preveliki, zadnja verzija: 44 MB, zip zadnje verzije: 15 MB, .git: 33 MB)

@Spura: Če te moti kompleksnost Git-a, vzemi Mercurial (ali Bazaar), ki je zelo podoben SVN-ju.

Za projekte z več občasnimi razvijalci, kjer se razvoj ne križa, je SVN še vedno v redu. Za lastne potrebe (običajne datoteke na disku, mali projektki) pa je SVN "no go". Ideja, da moraš imeti za vsak tak projektek prostor na strežniku (ali vsaj repozitorij shranjen nekje drugje na disku) in npr. na vlaku ne moreš delati z repozitorijem, je zame popolnoma nesprejemljiva.

dolenc ::

Tega pa ne razumem, zakaj pa ne moreš na vlaku delat? Mislem da je SVNju vseeno kje si ti :D

Bramac ^^ ::

Glavne razlike med Gitom in Mercurialom? Drugega sem uporabljal, prvega ne.

Invictus ::

v bistvu je vseeno kaj uporabljaš za version control.

Važno je predvsem da ga uporabljaš ... Znekim pametnim backupom.

Mislim da je na netu dovolj navdil v stilu:

git + dropbox
subversion + dropbox
CVS + dropbox

Za mazohiste oz. arheologe pa še vednbo obstaja RCS. Za bogate pa ClearCase ...
"Life is hard; it's even harder when you're stupid."

http://goo.gl/2YuS2x

Zgodovina sprememb…

  • spremenil: Invictus ()

mojca ::

dolenc je izjavil:

Tega pa ne razumem, zakaj pa ne moreš na vlaku delat? Mislem da je SVNju vseeno kje si ti :D


SVN-ju je morda res vseeno, pa vseeno ne morem narediti tegale:
<kodiranje>
svn ci -m "prva sprememba"
<kodiranje>
svn ci -m "druga sprememba"

ali kopirati kode iz starejše verzije datoteke.

dolenc ::

Mogoče jaz tega ne razumem, ali pa ima eclipsov plugin kaj drugače(čeprav močno dvomim) ampak meni uspe vse to narest :). Vsakič ko čekInaš ti naredi verzijo datoteke, poleg tega imaš pa še lokalno zgodovino. Vpogled imaš v vsako verzijo, ter lahko veselo copy/pastaš kar te matra.

Pa ne da podpiram SVN, ker mi ni najbolj všeč, sam tole pa gre :D

Pardon za off..

mojca ::

dolenc je izjavil:

Mogoče jaz tega ne razumem ... Vsakič ko čekInaš ti naredi verzijo datoteke, poleg tega imaš pa še lokalno zgodovino.

Bodisi imaš lokalen repozitorij (kar pomeni, da ne moreš delati na projektu skupaj z ostalimi razvijalci) bodisi si online, ko to počneš. Ne moreš pa imeti lokalne zgodovine, če delaš z javnim repozitorijem ... razen če karkoli narobe razumem.

MrBrdo ::

Ali ima svn pravzaprav kakšno prednost pred gitom? Lahko pove kdo, ki res uporablja oboje?
Jaz je sicer ne vidim, je pa res da svn nisem prav veliko uporabljal, zato me zanima, da bom vedel v prihodnje.
MrBrdo

noraguta ::

MrBrdo je izjavil:

Ali ima svn pravzaprav kakšno prednost pred gitom? Lahko pove kdo, ki res uporablja oboje?
Jaz je sicer ne vidim, je pa res da svn nisem prav veliko uporabljal, zato me zanima, da bom vedel v prihodnje.

kvečjem "enostavnost" , pa še to ne več od kar tudi za git obstajajo odlični frontendi. svn je pač starejši pa prvi je imel Tortoise frontend. To mu je njega dni precej dvignilo popularnost. Ampak če ti zadostuje je še vedno spodobna izbira.
Pust' ot pobyedy k pobyedye vyedyot!

mojca ::

MrBrdo je izjavil:

Ali ima svn pravzaprav kakšno prednost pred gitom? Lahko pove kdo, ki res uporablja oboje?



  • Poleg lažje uporabe je nekajkrat lažje skonfigurirat strežnik - čeprav tega najbrž itak ne boš počel. (Včeraj sem se lotila GitLab-a in je nočna mora namestit vse dependency-je, če nimaš Ubuntu-ja. Hm - morda ga bom pa testirala kar na Ubuntu virtualki?) SVN je starejši in imaš zanj že nekaj preverjenega softvera. Občutek dobivam, da je bil ves omembe vreden softver za git (kot gitlab, gitolite) spisan leta 2011 (ok, gitolite je bil spisan 2009 in opažen leta 2010, gitosis pa je baje že "out").

  • enostavnost uporabe, že nekajkrat omenjena

  • partial checkout. Moj usecase je sledeči: imamo približno 20 različnih platform, za katere različni ljudje prevajajo izvorno kodo v binarne datoteke. SVN izkoriščam za enostaven upload, ker se mi ne da pisati lastne rešitve. Vsak "prevajalec" naredi nekaj v smislu "svn co http://moj.repo/armel-linux" (iz strežnika potegne samo verzijo programov za svojo platformo), prepiše staro verzijo z novo in commit-a. K sebi mora torej prenesti zgolj eno kopijo vsake datoteke in zgolj za svojo platformo. Po drugi strani na strežniku delam z enim samim repozitorijem. Z Git-om bi morali to početi tako, da bi imeli bodisi več repozitorijev bodisi več vej (branch), vsako za svojo platformo, pa še paziti bi morali, da ne bi prenesli preveč zgodovine, ker se pri binarnih datotekah lahko le-ta hitro nabere. SVN repozitorij je trenutno velik 4 GB, a je samo na strežniku; uporabniki imajo pri sebi zgolj 11 MB. Če bi imel vsak uporabnik svojo git kopijo, bi bila le-ta sicer občutno manjša od 4 GB, a še vedno nezanemarljivo velika. Drugi usecase: checkout nekega SVN repozitorija je velik cca. 4 GB. Ko želim karkoli spremeniti, si k sebi potegnem le tisti direktorij, kjer moram popraviti neko datoteko. Če bi uporabljali git, bi morala k sebi najprej povleči nekaj GB za neko trivialno spremembo.

  • Pri programih (./program --version) se lahko sklicuješ na svn revision in veš, da je revision z večjo številko dejansko novejši. (Ni tehten argument.)

Zgodovina sprememb…

  • spremenila: mojca ()

jan_g ::

Ne vem, kaj točno si od strežnika želiš, ampak kolikor vem git že od začetka ponuja 'bare-bones' uporabo s pomočjo ssh. Na strežniku dodaš prazen git repozitorij (git init) in ssh accounte za uporabnike, ki imajo read/write dostop do tega repozitorija (lahko delaš tudi s skupnim accountom, ampak to ni kaj preveč varno niti primerno za brskanje po zgodovini). In potem naredijo 'git clone uporabnik@streznik:/repo_path'. Meni se ne zdi tako grozno zakomplicirano. Gitosis in novejši Gitolite pa omogočata še druge stvari, kot npr. upravljanje z uporabniki (brez posamičnih ssh accountov) in bolj napredne varnostne nastavitve, ki jih lahko nastaviš na operacijo (push, commit, ...).

krho ::

@mojca.. sam gitlaba nisem postavljal, sem pa redmine, bo 1x v prihodnosti potrebno nadgraditi na njegov fork ChiliProject, in gitolite. Vse skupaj sem postavljal na 1.04 ubuntu in ja.. naloviti dependencye je nočna mora. Pa pol teh presnetih dependencyev zahteva na mašini gcc, katerega sam nočem na nobeni produkcijski mašini.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net

mojca ::

jan_g je izjavil:

Ne vem, kaj točno si od strežnika želiš, ampak kolikor vem git že od začetka ponuja 'bare-bones' uporabo s pomočjo ssh. Na strežniku dodaš prazen git repozitorij (git init) in ssh accounte za uporabnike, ki imajo read/write dostop do tega repozitorija.


Nočem delati ssh računov za uporabnike, ker nimajo kaj šarit po strežniku. Želim jim dati zgolj pravice za dostop do svojega repozitorija in ničesar drugega. (S SVN-jem preko Apache-ja je to skoraj trivialno.)

jan_g ::

Za domačo uporabo je to dovolj dobro, to sem mislil. Mimogrede, a nima tudi git možnosti dostopanja prek apache strežnika? Bi moral prav pogledati, se že nekaj časa nisem s tem ukvarjal.

MrBrdo ::

@mojca: no od tega kar si omenila se mi zdi najbolj vredno tisto glede partial checkouta... enostavnost uporabe ne razumem, ali se to nanaša na GUI vmesnike? command line je kvečjemu bolj enostaven kot pa svn...

Glede konfiguracije strežnika pa se nebi čisto strinjal. namreč ti omenjaš web (www) vmesnike za git, ki bazirajo na raznih frameworkih, in zato rabiš to dodatno instalirat. Vendar, če rabiš samo "master" je dokaj enostavno postavit z "gitosis" toolom, rabis pa python in python-setuptools, vendar v tem res ne vidim prevelikega problema, ker ponavadi to ze tako ali tako imas. Potem je stvar nekaj ukazov, da stvar postavis (http://scie.nti.st/2007/11/14/hosting-g.... Pravice za dostop so potem na podlagi ssh public keyev, kot mislim da je standard za git, mislim da ni moznosti dostopa z geslom, kot je pri svn. Vendar pravzaprav je to prednost ker je tako bolj varno. Ko hočeš dodat userja, clonaš določen repozitorij ki ga gitosis ustvari, ki nadzoruje dostop do repojev, in not dodaš public key od te osebe. Mogoče res mičkeno več dela kot če maš web interface ampak če ne rabiš ravno vsak dan dodajat userjev je čist cool. Pa tud sicer vzame pač 1 min namesto 30 sec :)
MrBrdo

Zgodovina sprememb…

  • spremenilo: MrBrdo ()

Spura ::

Jst hocem GUI, ki je hkrati klient, one click install in ima da dela. Ce to ne gre me produkt ne zanima. In v tem se vecina ljudi ne razlikuje od mene.

MrBrdo ::

Sej ga imaš... msysgit (http://code.google.com/p/msysgit/). Tudi SVN lahko dobiš kot konzolno verzijo ali skupaj z GUI (TortoiseSVN), tako da tukaj ni res nobene razlike in ne vem, kaj se pritožuješ :) Na linuxu seveda tudi lahko instaliraš samo GUI in se ti bo git naložil samodejno. Na OSX prav tako (GitX).
Invalid argument.
MrBrdo


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Android projekt (Android Studio) pod version control (SVN)

Oddelek: Programiranje
81573 (1277) Parkelj
»

GitHub Pomoč

Oddelek: Pomoč in nasveti
455635 (3897) BivšiUser2
»

Motivacijski video za "project management/team building" (uvod v teden hekanja OS X-a

Oddelek: Sedem umetnosti
184317 (3904) djabi
»

GitHub

Oddelek: Programiranje
124575 (4321) BigWhale
»

Subversion (SVN) - kaj priporočate?

Oddelek: Programiranje
414115 (2729) imagodei

Več podobnih tem