Gestionați versiunea dvs. de fișier ca un programator cu Git

Gestionați versiunea dvs. de fișier ca un programator cu Git / Programare

Dacă ați colaborat vreodată cu colegii pe un document, știți această durere: cineva ia prima trecere (document.doc), apoi trimite-i prin e-mail tuturor. Următoarea persoană face același lucru, la fel ca și al treilea, fiecare abordând o revizuire (document_rev3.doc) la numele fișierului. Managerul îi place ceea ce vede și etichetează-l ca fiind complet (document_final.doc) ... până la schimbările de ultimă oră (document_final_Aaron changes_reviewed_by_Bob_now_really_final.doc).

Acum imaginați modificări ca aceasta în zeci de fișiere de cod sursă. Programatorii au creat sisteme de control al versiunilor (VCS) pentru a rezolva această problemă. Sunt puțin tehnice, dar pot fi utile și pentru utilizatorii de putere. Să ne uităm la elementele de bază ale controlului versiunii utilizând astăzi sistemul de top, git.

Prezentare generală a controlului versiunii în utilizare

Scopul principal al VCS este de a captura versiuni (numit si revizii) a unui fișier în timp. Aceasta înseamnă că nu se bazează pe metode brute precum cea descrisă mai sus. În aceste sisteme, când accesați “document.doc” lucrați la cea mai recentă versiune implicită. Dar puteți reveni și la istoricul fișierului și puteți prelua versiunile anterioare. Sistemele construite special pentru a gestiona versiunile de fișiere au început în dezvoltarea de software, dar s-au transformat în mai multe “masă” și aplicații.

Evoluția controlului versiunii în dezvoltarea de software

Aplicațiile de control al versiunii inițial au apărut ca o modalitate de a împiedica programatorii să rupă codul celorlalți. Primele sisteme au permis pur și simplu utilizatorilor să blocheze fișierele din alte ediții, în timp ce sistemele de generația a doua (cum ar fi Subversion Cum să Controleze Versiunile WordPress Folosind Subversion [Linux] Cum să Controleze Versiunile WordPress Folosind Subversion [Linux] Majoritatea probabil știu deja că WordPress o mare cantitate de site-uri web pe care le privim în fiecare zi.Prin baze de date mari și de suport, puteți face multe lucruri interesante cu ... Citește mai mult) a adăugat checkout-ul proiectului integral dintr-un depozit central.

În timp ce aceste sisteme de tip 2 sunt încă utilizate pe scară largă, industria migrează către sistemele de generația a treia. Caracteristica principală a acestor sisteme este că acestea sunt distribuite, ceea ce înseamnă că nu există un depozit central. Mai degrabă, fiecare utilizator are propria copie completă a depozitului (inclusiv toate revizuirile anterioare). Dar orice schimbări (chiar revizii complete) sunt “local” până la el “împinge” ei într-un alt depozit. Utilizatorul poate trage apoi o clonă pentru a face schimbări și pentru a repeta procesul.

Controlul versiunii actuale pentru non-programatori

Abilitatea de a captura mai multe versiuni ale aceluiași lucru este, de asemenea, o caracteristică comună pentru utilizatorii medii prea Nu doar pentru Coders: Sistemele de control de versiune de top pentru scriitori nu doar pentru Coders: Sistemele de control de versiune de top pentru scriitori Mențiunea de control versiune sau de control revizuire face se pare ca ceva pentru geeks. Veți fi surprinși să știți că sistemele de control al versiunilor au locul lor nu numai în scrierea academică, ci și în ... Citește mai mult. Cu acces la un spațiu de stocare mai ieftin, atât pe mașina locală, cât și prin intermediul serviciilor cloud ușor de utilizat, utilizatorii au acum posibilitatea de a urmări istoricul fișierelor lor. Programele cu scop general fac acest lucru în mai multe moduri.

Sisteme de operare poate capta un istoric de fișiere sau foldere Ultimate Windows 10 Data Backup Guide Ultimate Windows 10 Ghid de Backup de date Am rezumat fiecare opțiune de backup, restaurare, recuperare și reparații pe care le-am putea găsi pe Windows 10. Utilizați sfaturile noastre simple și niciodată disperare peste datele pierdute din nou! Citeste mai mult . Acest lucru se poate întâmpla automat de fiecare dată când un fișier este salvat sau într-un program regulat. niste aplicații desktop de asemenea, vă permite să capturați versiuni sau instantanee de fișiere. De exemplu, LibreOffice oferă “Salvați versiunea” (așa cum se arată în imaginea de sus), care vă permite să salvați mai multe versiuni ale documentului într-un singur fișier. În cele din urmă, aplicațiile web / cloud, cum ar fi Google Drive, ownCloud, etc. vor păstra și iterațiile anterioare ale unui fișier sau document (după cum se arată în Documentele Google în imaginea de mai jos), fie în spatele scenei, fie la comanda expresă.

De ce să folosiți controlul versiunii de programare apoi?

Deoarece toate aceste opțiuni la nivel de OS sau de aplicație există deja, de ce să vă deranjez cu aceste instrumente programatoare nerdy? Există câteva dezavantaje ale metodelor de mai sus, printre care:

  • Unele sisteme de operare vor salva fiecare optimizare pe care o faceți la un fișier într-o nouă versiune. Timpul de întoarcere: 4 Instrumente și sfaturi pentru a restaura fișierele șterse în Windows Timpul de întoarcere: 4 Instrumente și sfaturi pentru a restaura fișierele șterse în Windows Unul din Windows ' cele mai mari defecte ar putea fi salvarea dvs., ar trebui să ștergeți vreodată un fișier important: Sistemul de fișiere Windows nu șterge de fapt fișiere. Până nu sunt suprascrise, fișierele șterse pot fi restaurate. Citeste mai mult . Acest lucru nu va duce doar la stocarea inutilă, ci va face și dificilă identificarea unui anumit punct de restaurare pentru un fișier.
  • Aceste soluții pot utiliza, de asemenea, un fișier ca unitate de bază pentru gestionare. Dar sistemele de control al versiunii de obicei lucrează la nivel de director (inclusiv subdirectoare). Un VCS vă permite să vedeți cu precizie exact ce fișier a fost schimbat și când.
  • Aceleași soluții nu vă oferă, de asemenea, posibilitatea de a eticheta iterațiile în majoritatea cazurilor. Acest lucru face de asemenea dificilă găsirea fișierului cu trecerea textului pe care l-ați suprasolicitat la un moment dat înainte de a vă da seama cât de strălucitor a fost.
  • Versiunea prin sisteme de operare și aplicații, cum ar fi Word, introduc de asemenea puncte unice de eșec. Pentru Word este fișierul propriu-zis (dacă acesta devine corupt, spune-i la revedere tuturor copiilor din trecut). Pentru sistemul de operare este hard disk Cum de a diagnostica și de a repara un hard disk mort pentru a recupera date Cum de a diagnostica și de a repara un hard disk mort pentru a recupera date Cu câțiva ani în urmă, am experimentat un eșec de hard disk. Am fost la lucru când laptopul meu a început brusc să se comporte ciudat. Aproximativ o jumătate de oră mai târziu, unitatea hard disk a eșuat audibil și laptopul ... Citiți mai mult, dacă nu sunteți un utilizator responsabil și faceți o copie de siguranță în mod regulat Ghidul de copiere de rezervă și restaurare Windows Backup și Restaurare ghidul de dezastre se întâmplă. Cu excepția cazului în care sunteți dispus să vă pierdeți datele, aveți nevoie de o bună rutină de backup Windows. Vă vom arăta cum să pregătiți copii de siguranță și să le restaurați. Citeste mai mult .
  • Natura serviciilor pe bază de web înseamnă că versiunile mai vechi ar putea fi acolo în nor. De exemplu, dacă încercați să vizualizați istoricul unui fișier Dropbox pe Linux (după cum se arată în imaginea de mai jos), sunteți redirecționat către site.

Dacă vreuna sau toate aceste probleme te fac să vrei ceva mai mult, verifică următoarea secțiune unde le rezolvăm git.

Controlul versiunii cu Git

În secțiunile următoare vom trece prin fiecare dintre acești pași pentru un proiect foarte important: chiar acest articol. Vom face acest lucru folosind versiunea de linie de comandă a lui Git. Știind comenzile terminale va face destul de ușor să găsească echivalentele lor GUI și va garanta că le puteți folosi pe fiecare platformă.

1. Instalarea Depozitului Git

Dacă mașina dvs. nu are instalată git (Mac-urile, la fel ca și unele distribuții Linux), puteți să apăsați programul de instalare Windows de pe pagina de descărcare a proiectului sau să instalați pe Linux cu o comandă (specifică pentru distro) cum ar fi:

sudo apt instalare git

Următorul lucru pe care trebuie să-l facem este să înființăm un git repertoriu, care este doar un dosar care vă ține proiectul. Pentru a profita de versiunea Git, trebuie să inițializa folderul ca depozit. Puteți face acest lucru la o linie de comandă cu următoarea comandă:

git init

S-ar putea să nu vedeți nimic când se termină acest lucru, dar activați “arată fișierele ascunse” opțiune din managerul de fișiere și veți vedea că există o opțiune nouă .git (așa cum se arată în imaginea de mai sus). Aici git își păstrează toate informațiile, astfel încât nu mai este posibil.

2. Adăugați și comiteți primul fișier

Următorul pas este să creați un anumit conținut (fișiere) în proiectul dvs. Acestea pot fi orice tip de fișier, deoarece majoritatea programelor de programare sunt alcătuite din cod (text) și active precum grafica (binar) Tot ce trebuie să știți despre formatele de fișiere și proprietățile lor Tot ce trebuie să știți despre formatele de fișiere și proprietățile lor utilizați în mod alternativ fișierul cuvânt: muzică, imagine, foaie de calcul, prezentare de diapozitive și așa mai departe. Dar ceea ce face un fișier un "fișier", oricum? Să încercăm să înțelegem această parte fundamentală a calculului. Citeste mai mult . Odată creat, faceți următoarele la linia de comandă în timp ce vă aflați încă în directorul de proiect:

git status

Primul pas spre o comitere este să “etapă” elementele noi sau actualizate. Vedeți cum rezultatul de mai sus vă permite să știți că există “nestaditizat” schimbări? Puteți să organizați tot în directorul dvs. (recursiv, adică să includeți subdirectoare și fișierele acestora) cu această comandă:

git -a .

“-A” steagul este pentru “adăuga,” iar perioada se referă la directorul curent. Se spune de fapt “adăugați toate fișierele la comitetul meu.” Acum, pentru a efectua comiterea, tastați următoarele:

git comite -m "WHOOP, primul meu comitet!"

Acum când verificați starea din nou, nu ar trebui să existe modificări de așteptare. Pentru a vedea comitetul în sine, verificați jurnalul git, folosind grafic, cu lista tăiat la o linie, și decorate pentru citire:

git log - toate - decoreaza --online --graf

Acest lucru vă va arăta o cronică frumoasă a comiterii dvs., cu cele mai recente în top.

3. Creați o ramură pentru a experimenta

Pe măsură ce lucrați, poate doriți să mergeți într-o anumită direcție, fără să știți dacă va funcționa. Pentru aceasta, veți dori să creați o sucursală cu următoarea comandă:

git branch experiment1 git checkout experiment1

A doua comandă vă comută la “experiment1” ramură. Puteți reveni prin înlocuirea acestuia “maestru.” Pe măsură ce începeți să lucrați la textul dvs., rețineți diferența dintre același fișier din fiecare ramură. În primul rând, “experiment1” ramificați cu noul text:

Comparați acest lucru cu originalul:

Acum, după ce a lucrat o perioadă de timp (terminând cu o nouă comitere), cel mai bun lucru pe care l-ați putea face este “Lorem ipsum dolor stai amet ... ?” Ce este asta? Este o prostie și ar trebui să fie lovită de proiect imediat. Îți poți distruge sucursala cu următoarea comandă (“-D” pentru ștergerea forței):

git branch -D experiment1

Începeți acum o altă ramură și adăugați ceva inteligent, împreună cu câteva imagini:

git branch experiment2 git checkout experiment2 git adăugați. git commit -m "Mai mult text, imagini adăugate"

4. Mergeți-vă schimbările

În sfârșit, odată ce sunteți mulțumit de modificările din sucursala dvs. curentă, următoarea comandă o va îmbina cu “maestru” ramură. Cu condiția să nu fi făcut o mulțime de hopping înainte și înapoi între cele două, acest lucru va duce la toate noile dvs. modificări sunt aplicate, și o nouă revizuire a creat. Următoarele la linia de comandă le vor combina pentru dvs.:

git merge2

Acum veți avea o revizuire care combină cele mai recente “maestru” cu cele mai recente “experiment2.” În acest moment, puteți să scăpați de experiment (a avut succes la urma urmei) cu următoarele:

git branch -d experiment2

Rețineți că veți pierde doar oricare dintre modificările incrementale pe care le-ați efectuat în acea ramură dacă faceți acest lucru.

5. Apăsați pe un loc sigur

În cele din urmă, Git este a distribuite sistem, ceea ce înseamnă că aveți mai multe copii ale depozitului dvs. și le puteți sincroniza. De exemplu, creați un depozit nou pe un server pe care îl puteți utiliza în SSH Cum să gestionați de la distanță un server Linux cu SSH Cum să gestionați de la distanță un server Linux cu SSH SSH este foarte funcțional, motiv pentru care este un proces de gestionare a serverului la distanță. Aflați cum să gestionați de la distanță un server Linux prin SSH, de la conectare la instalarea software-ului și transferurile de fișiere. Citiți mai multe cu această comandă:

git init --bare

“-neizolat” flag-ul îl configurează ca pe un depozit numai pentru citire, prin faptul că nu puteți modifica direct fișierele. Apoi, puteți seta ca o copie la distanță a depozitului dvs. local cu următoarele (prima comandă asigură crearea de la distanță a noilor ramuri locale):

git config push.default de potrivire git de la distanță adăuga centrala ssh: // [username] @ [URL] / path / to / repository git push - set-upstream central master

Configurați pentru versiune și copiere de rezervă cu Git

Cu configurația de mai sus, puteți urma un proces simplu pentru a păstra toată munca pe care o faceți pentru un proiect, nu numai în versiune, ci și la o copie de rezervă.

  1. Efectuați modificări în fișierele de proiect.
  2. Problema “adăugați git .” pentru a adăuga toate modificările unei comiteri.
  3. Problema “git commit -m [un mesaj]” pentru a vă angaja modificările local repertoriu. Repetați de la început.
  4. Problema “git push” pentru a angaja modificările la un depozit la distanță la intervale regulate.
  5. Problema “git clona ssh: // [numele utilizatorului] @ [URL] / calea / către / depozit” de la o altă mașină la

Beneficiile sistemelor de control al versiunilor vă interesează? Sau sunt aplicațiile de backup non-dezvoltare suficient pentru nevoile dvs.? Anunțați-vă gândurile în comentariile de mai jos!

Explorați mai multe despre: Gestionarea fișierelor.