Mă întreb cât de multe produse electronice nu folosesc sisteme de control al versiunii în proiectele lor. M-am fost așa până încercat. Acum, fiecare proiect încep prin crearea unui depozit.
Ce este?
Deci, un sistem de control al versiunii (VCS) - acesta este un astfel de program care vă permite să salvați întreaga istorie a dezvoltării proiectului.
De ce o fac?
Acest lucru este - foarte direct instrument de mega-convenabil pentru dezvoltare. Se întâmplă astfel că le-ați scris, am scris programul, și în cele din urmă a rupt ceva. În cazul în care programul este în control sursă, puteți reveni cu ușurință la o versiune anterioară a proiectului și de a vedea ce sa schimbat, eu fac o mulțime de timp salvat.
De exemplu, recent am început să scadă la limita de viteză în proiect pe FPGA. Am literalmente 5 minute găsit o versiune în care nu au fost încă căzut și a găsit motivul
În cazul în care proiectul se execută mai multe persoane fără SUV-ul să lucreze la toate este aproape imposibil - începe haosul, fiecare face ceva diferit și nu este clar cine și ce se face. Cu VCS puteți vedea în mod convenabil care a facut ce, modificările făcute de alții sunt mult mai puțin surprinzătoare.
În plus, există aplicații mai exotice. De exemplu, modificările aduse acestui site, am trimis la server folosind un sistem de control al versiunii.
Ce să aleg?
Sistemele de control al versiunii sunt atât de multe. Personal, pentru mine, am ales Mercurial. Un sistem de mare pe care il recomand tuturor - o rapid, cross-platform, cu clientul grafic excelent. Un argument foarte puternic în favoarea sa este site-ul existenței BitBucket. Niciodată nu am regretat alegerea.
În afară de Mercurial, este acum destul de comună și git SVN. Git este mai frecventă în unele linux'ovskoy clică, SVN - într-un mediu corporatist. Am încercat să-i (dar nu foarte mult timp) folosesc, dar nimic din ceea ce costa nu am văzut aruncat mercurial.
Există un site web bitbucket.org. este posibil pentru a stoca proiectele dumneavoastră. Este notabil faptul că, spre deosebire de github, puteți elibera pentru a crea un depozit închis (depozit - un loc în care sunt stocate proiecte). Ai nevoie să plătiți numai pentru acele proiecte care sunt închise și peste care au lucrat mai mult de 5 persoane. În acest caz, limita poate fi extinsă până la 8 prin trimiterea invitațiilor. Eu încă nu a depășit această limită. În plus, există un wiki și bug tracker, în general, tot ceea ce este necesar pentru dezvoltarea de proiecte.
Când am început să lucrez cu el, site-ul acceptă numai Mercurial (parțial din acest motiv, am ales mercurial), dar acum este posibil să se creeze și git-depozit. În plus față de BitBucket puteți lega domeniu. Aici, de exemplu, versiunea mea: hg.bsvi.ru
Cum să încep?
Mai întâi trebuie să descărcați clientul. Eu folosesc tortoiseHg. Cred că, odată cu instalarea nici o problema.
Odată instalat, o idee bună pentru a seta numele de utilizator implicit. Pentru a face acest lucru, trebuie să editați fișierul C: /Users/BSVi/mercurial.ini trebuie să adăugați o linie
În mod firesc, bsvi ar trebui să fie înlocuit cu numele tău.
Acum suntem gata de a crea un proiect și să înceapă să facă ceva. Pentru a face acest lucru, faceți clic pe bitbucket.org «Creare depozit»:
Acolo umple titlul, descrierea, selectați limba. Puteți adăuga un wiki și bug tracker.
Acum, faceți clic pe butonul de «clona» și copiați că au apărut:
Mai multe operațiuni depind de faptul dacă utilizați un manager de fișiere. Personal, eu folosesc acum. Inserez doar linia de copiat la linia de comandă:
Dacă ispoluete conductor (um), comandantul totală sau ceva de genul asta, atunci trebuie să faceți clic pe butonul din dreapta al mouse-ului și alegeți:
Acolo, în câmpul sursă trebuie să introduceți calea, desigur, nici o clona hg:
Vi se va solicita parola, și va testa-repo director, care, de fapt, și va fi în proiect.
Adăugați câteva fișiere
Dacă aveți deja un timp de funcționare a proiectului, acestea pot fi copiate într-un director. Suntem la fel, pentru scopuri de antrenament, a crea un fișier main.c cu conținut asemănător cu acesta:
Acum, face o comite. Commit - se schimbă în proiect. Pentru a face acest lucru, vom rula bancul de lucru hg. Tocmai am scrie linia de comandă THG, trebuie să apăsați PKM-> Hg Workbench pentru manageri de fișiere eksploreroobraznyh.
In fata dosarul nostru va fi un semn de întrebare (care este, nu este adăugat la proiect). Am pus o căpușă lângă el și scrie o descriere a ceea ce a fost făcut:
În mod firesc, apoi, faceți clic pe butonul «comite».
Toate modificările aduse proiectului. Aici trebuie să observăm că schimbările vnecheny numai pe computerul local (de exemplu, ele nu sunt încă prezente pe server). Pentru a transfera modificările la server, trebuie să apăsați «împinge», aici este:
Desigur, pentru a împinge modificări la server, este necesară introducerea unei parole.
fișier schimbare
Acum, să ne uităm la unul dintre cele mai importante tipuri de sisteme de control al versiunii - de urmărire versiuni de fișier. Noi adăugăm la producția noastră de program pe ecran:
Să ne întoarcem la bancul de lucru hg. Când am fost de lucru la un proiect nu este chiar aproape (despre-on), apăsați F5 pentru a actualiza lista de fișiere. Acum vom vedea ce sa schimbat de la ultima comite:
Și este - un instrument foarte puternic. De obicei, în timpul de depanare fișiere apare o mulțime de deșeuri diferite. Duck aici, se uită la ce aveți de gând să se angajeze o foarte bună curăță resturile din proiect.
Și ce să fac cu gunoiul?
Atunci când se lucrează la un proiect există o mulțime de gunoi - de exemplu, fișierele obiect, fișierele care IDE generează, unele fișiere temporare, și așa mai departe. Orice lucru care nu face parte din proiect, ar fi frumos să fie eliminate din depozit. În acest scop, există .hgignore fișier (da, cu un punct de la începutul numelui).
Adăugați fișiere nedorite la proiect. Eu, de exemplu, a creat main.obj:
Dacă actualizezi lista de fișiere, apoi, desigur, hg Workbench solicită să adăugați acest fișier la proiect:
Acum, creați un fișier și scrie .hgigonre acolo pe care vrem să ignore toate fișierele cu extensia obj:
Dacă actualizați o listă de fișiere care vor fi pierdute fișiere obj, dar va .hgignore fișier care poate comite o:
Cum să se rostogolească înapoi modificările?
Ne restabiliți programul nostru la starea în care se afla înainte de afișare. Pur și simplu selectați angajeze la care doriți să se rostogolească înapoi și faceți clic pe butonul aici:
În mod similar, în mare parte același lucru poate fi rulat un singur fișier.
concluzie
Asta e tot ce este - cel puțin cunoștințe de sisteme de control al versiunii, care vă va permite să salvați istoria de dezvoltare a proiectului. Desigur, există multe alte posibilități, despre care voi spune mai târziu.
Mulți oameni cred că un sistem de control al versiunii ar trebui să fie utilizat numai dacă proiectați ceva mulțime mare, dar este - nu asa :) Chiar și atunci când lucrați singur pe un proiect, un sistem de control versiune mult ajutor.
De exemplu, aici este o captură de ecran a UTC meu (aka Dezvolt eu) în locul cel mai dificil în bancul de lucru hg: