Învățați versiunea de control și învățați-o bine

Unde ar trebui să încep să învăț despre sistemele de control al versiunilor? Am folosit SVN, Team Foundation și Sourcesafe în trecut, dar nu prea cred că o înțeleg complet și nici echipa mea nu pare să o înțeleagă.

Care puncte sunt cele mai importante pentru a stăpâni? Îmi dau seama că acest lucru diferă de VCS la VCS, dar de dragul acestei întrebări putem presupune că Subversionul este VCS pe care sunt cel mai interesat să învăț.

De asemenea, dacă ați putea, vă recomandăm să consultați toate cărțile pe această temă pe care le considerați utile.

0
fr hi bn
Ar fi "învățând bine", nu "învățând bine". Nu-mi vine să cred că modurile au ratat asta.
adăugat autor George Stocker, sursa

13 răspunsuri

Cred că cele mai importante puncte pe care trebuie să le înveți cu privire la sistemele de control al surselor sunt următoarele:

  • the value of small, frequent check-ins/commits
  • tagging, branching and merging
  • rollbacks
  • conflict resolution
  • exclusive vs. non-exclusive checkout
  • continuous integration
  • Test-driven development & automated unit tests vis-a-vis source control systems
  • forking

Dacă aveți aceste concepte majore acoperite, este vorba de cele mai multe dintre lucrurile pe care vreodată trebuie să le cunoașteți pentru controlul surselor :)

0
adăugat

De asemenea, ca si tine, nu am simtit niciodata un 100% confortabil cu SVN sau SourceSafe.

Check out Mercurial . Începeți rapid și Cheatsheets
de asemenea, o mare cheat foaie de la DongWoo Lee (site-ul său pare a fi jos, așa că am scanat și încărcat pe mine)

Cu Mercurial totul părea mult mai neted și ușor de neclar de ce, pentru că nu este atât de diferit în comenzi față de ceilalți.

0
adăugat
0
adăugat

Există câteva ebook-uri gratuite pe această temă. Încerca:

Version Control With Subversion: Version Control with Subversion

Subversion Version Control (PDF): Subversion Version Control

Am citit și l-aș recomanda pe fostul. Nu ați citit "Subversion Version Control", dar arată destul de în profunzime.

0
adăugat

Pentru a răspunde la întrebarea dvs. Re: Care sunt cele mai importante puncte de masterat aș sugera că, după ce veți trece prin întregul proces de verificare și ieșire, revenind la versiunile vechi și diffs diferiți ar trebui să aruncați o privire la ramificare. Brancharea vă poate ajuta să vă ocupați de durerea de a fi în mijlocul unei schimbări mari și de a avea nevoie brusc pentru a efectua o remediere a bug-urilor și a le pune în producție fără a amesteca chestiile pe jumătate de lucru pe care lucrați.

0
adăugat

Cred că documentația Subversion este un loc bun pentru a începe. Am constatat că Wikipedia nu ajută cu adevărat, deoarece acoperă doar un punct de vedere "fundamental".

În Cartea Subversion pe care Alex a menționat-o, aș recomanda în special Capitol 1, deși acest lucru ar putea fi la un nivel prea scăzut dacă aveți deja o experiență cu Svn. Capitolul 4 acoperă ramificația și fuzionarea în detaliu, dar este destul de tehnic.

Ceea ce ma ajutat foarte mult este Ghidul zilnic de utilizare în documentația TortoiseSVN ; acoperă cele mai importante operațiuni într-un stil tutorial.

Cred că cele mai importante lucruri pe care trebuie să le înțelegi sunt ramificare, fuzionare și etichetare . Înțelegerea acestor lucruri necesită timp și practică, așadar aș recomanda cu fermitate un mic proiect de animale de companie într-un depozit local, astfel încât să puteți experimenta. Cred că este important să înțelegeți că întregul sistem este bazat pe dife: o îmbinare nu este altceva decât să aplicați automat modificările care au fost făcute într-o ramură la codul dintr-o altă ramură, în loc să corectați singur codul. Lucruri precum conflictele (care mi-au luat mult timp să înțeleg) sunt doar consecințele acestui fapt.

Dar, bineînțeles, încă învață bine :)

0
adăugat

IMHO, aceasta este cartea : cartea lui Berczuk despre modelele SCM

0
adăugat

Nu sunt sigur ce experiență aveți cu sistemele de control al versiunilor, dar pentru cineva care nu are cunoștințe anterioare despre acest concept, vă recomand să citiți primele câteva capitole ale Cartea de subversiune . Unele dintre lucrurile descrise acolo sunt specifice pentru Subversion, dar multe dintre concepte sunt "universale" pentru sistemele de control al versiunilor și cum să lucrăm cu ele.

Cred că este foarte important ca oamenii să depună eforturi în încercarea de a înțelege principalele concepte și raționamente în spatele sistemelor de control al versiunilor înainte de a începe să le utilizeze. De prea multe ori, dezvoltatorii folosesc doar un subset mic de caracteristici ale sistemului lor, deoarece nu înțeleg conceptele care stau la baza lor și, prin urmare, nu văd niciodată punctul de a folosi ceea ce consideră că sunt "avansate" sau "inutile" pur și simplu frică să facă acest lucru din teama de a sparge ceva sau de a provoca probleme pentru proiect.

După ce am experimentat acest fenomen cu mulți dezvoltatori în trecut, am scris recent un rezumat al ceea ce eu consider cele mai bune practici pentru controlul versiunii pe blogul meu.

0
adăugat

Consultați GIT . O discuție pe aceasta aici .

0
adăugat

Version control by example by Eric Sink is good and easy to follow

0
adăugat

IMHO, cea mai bună resursă de rețea pentru Configuration Management ar fi Proiectul ACME de Brad Appleton

Ar trebui să citiți despre toate modelele SCM și modelele Anti. Toți termenii tehnici SCM sunt bine definiți pe acest site și există multe articole despre tehnicile de ramificare, SCM agil și alte lucruri importante.

Aceasta, probabil, vă va oferi destulă fundal teoretic pentru a rezolva orice instrument de versiune specifică.

În ceea ce privește o carte Subversion, probabil că va fi cartea Subversion oficială menționată mai sus. Acesta este disponibil online gratuit sau puteți achiziționa o copie de hârtie.

0
adăugat

Articolul Wikipedia despre revizia de control este un loc minunat pentru a începe

Controlul revizuirii

Când am încercat să-i învăț pe colegii mei, l-am găsit să înțeleg vocabularul la sfârșit, a fost o modalitate foarte bună de a începe să-l prezint tehnicilor de control al codului sursă.

Nu știți ce este o ramură? Du-te și aflați cum funcționează :)

Există o versiune gratuită de subversiune online la Controlul versiunii cu Subversion , care oferă o referință neprețuită.

0
adăugat
0
adăugat