Tortoise hg - client pentru mercurial

Tortoise hg - client pentru mercurial

Bună ziua, dragi cititori ai blogului LifeExample. pentru ultima luna proiectul meu MOGUTA.CMS a achizitionat o echipa mai mult sau mai putin stabilita si impreuna am inceput sa adaugam produsul dezvoltat intr-o serie de articole despre crearea unui magazin online.







Deoarece suntem cu toții separați geografic unul de celălalt și facem noi editări zilnice în codul proiectului, trebuie să putem schimba rapid versiunile noastre de produs.

Această sarcină este ușor de rezolvat utilizând unul dintre cele mai comune sisteme de control al versiunilor (VCS - Version Control System), cum ar fi SVN, GIT, Mercurial. Bazaar.

Odată pe un blog, am scris deja despre sistemul de control al versiunii - SVN. în articolul "Configurarea SVN" și mai întâi când am organizat procesele de dezvoltare ale MOGUTA.CMS, am început chiar să folosim SVN, dar ulterior alegerea finală a căzut pe Mercurial.

Această decizie a fost facilitată de mai multe fapte:

  1. Mercurial - este mai productiv în contrast cu SVN, datorită conceptului său bazat pe utilizarea stocării distribuite.
  2. Mercurial - foarte simplu în înțelegerea utilizării.

Având în vedere că echipa noastră este alcătuită în principal din oameni care nu au lucrat cu sisteme de control al versiunilor, am decis să folosim mita lui Mercurial cu simplitatea sa.

Cum se utilizează Tortoise hg

Următoarea instrucțiune nu descrie toate caracteristicile programului Tortoise hg. dar cu ajutorul acestuia veți obține o reprezentare vizuală a modului de lucru cu sistemul de control al versiunii Mercurial.

  1. După instalarea Tortoise hg, două elemente vor fi adăugate în meniul contextual al exploratorului: "Hg WorkBench" și "TourtoiseHg".

Tortoise hg - client pentru mercurial

  • Vom crea un dosar pentru stocarea copiei de lucru a proiectului, de preferință în locul unde sunt lansate site-urile locale. pentru că pentru testarea site-urilor locale folosesc denver, în cazul meu este C: \ WebServers \ home \ mogutacms.ru \ www
  • Dacă faceți clic pe folderul creat cu butonul drept al mouse-ului, mergeți la punctul TourtoiseHg -> Clone și inserați în câmpul sursă, link-ul depozitului.

    Tortoise hg - client pentru mercurial

  • Faceți clic pe "Clone" (Clonare), programul vă va solicita setările de acces după conectarea la server. Când lucrați cu serverul de la asambla.com, trebuie să introduceți datele de conectare și parola din contul de asamblare.

    Dacă folosiți un alt server, atunci administratorul trebuie să dea login și parola.
  • După clonarea reușită, puteți începe să lucrați cu proiectul. modificarea, adăugarea și ștergerea fișierelor care îi aparțin.
  • După ce a fost făcut, un set de modificări, îl putem scrie la nodul arborelui de schimbare a proiectului. Astfel perpetuând această versiune în memoria Mercuriala.

    Pentru a înregistra modificările efectuate, accesați interfața programului Tortoise Hg. făcând clic pe "Hg WorkBench" din meniul contextual al dosarului proiectului.

    Tortoise hg - client pentru mercurial

  • Acesta este modul în care ne arată proiectul Mercurial, acordați atenție domeniilor selectate. Imaginea poate fi mărită făcând clic pe ea.

    Cel mai important lucru în lucrul cu VCS este de a înțelege cum funcționează sistemul sucursalelor. Dacă te uiți la graficul reviziilor, poți vedea o mulțime de versiuni intercalate ale proiectului

    Tortoise hg - client pentru mercurial

    Această intercalare este rezultatul unei fuziuni, două versiuni diferite ale dezvoltatorilor. De exemplu, echipa are doi programatori și un designer, fiecare dintre ei trebuie să își editeze proiectul. Pentru a face cât mai confortabil posibil pentru toți membrii echipei, în același timp, fiecare dintre ei trebuie să-și creeze propria ramură de dezvoltare și să efectueze toate schimbările în cadrul acesteia.

    Este cam la fel ca copierea tuturor fișierelor într-un alt folder de pe disc și lucrul cu ei deja, fără a deranja restul. Numai datorită sistemului Mercurial. nu trebuie să vă ocupați de transferul de date către foldere diferite, tot ce trebuie să faceți este să creați o comitetură cu câteva clicuri în noua filă.

    Angajamentul în limba rusă este salvarea setului actual de modificări la o nouă revizie (versiunea proiectului).

    Cum de a crea o ramură în Tortoise HG

    Am decis că am creat un nou fișier în proiect și am deschis interfața de management Tortoise HG. Uită-te la ilustrația de mai sus.

    Câmpurile numerotate evidențiate cu un contur roșu sunt următoarele:

    • 1: arată care ramură suntem acum, spune descrierea "Directory de lucru" între cele două stele.
    • 2: Afișează și numele sucursalei actuale, și pe lângă acesta este și butonul pentru crearea unui nou. Dacă faceți clic pe acesta, Tortoise HG va sugera crearea unei sucursale numite. Să facem o nouă filială a proiectului.

    Tortoise hg - client pentru mercurial






    Tortoise hg - client pentru mercurial

    Cum să fuzionezi sucursalele în Tortoise HG

    Odată cu introducerea editărilor și crearea unei noi sucursale, cum ar fi cele sortate.

    Vreau să fiu atenți: la următoarea comitere, nu creați o ramură nouă, nu faceți totul, așa cum este descris în secțiunea anterioară, dar ocolind punctul cu crearea ramurii numite.

    A face multe comitete într-o ramură este utilă, pentru a reveni la versiunea anterioară la momentul potrivit și a vedea cum a funcționat sistemul înainte. Dar nu recomand să abuzezi de comitete, să le faci numai când crezi că ai terminat o parte din lucrare. De obicei suficient, faceți o comitet la sfârșitul și / sau la începutul zilei de lucru.

    Cum se actualizează la o revizie anterioară

    Tortoise hg - client pentru mercurial

    După actualizare, apariția graficului se va schimba ușor, însă structura acestuia nu-l va afecta, doar Tortoise HG îl va afișa într-un mod mai convenabil. Odată cu actualizarea la orice revizie, datele din câmpurile 1 și 2 afișate în ilustrație cu marcajul se vor schimba.

    Acesta este modul în care graficul va arăta în exemplul nostru după actualizare:

    Tortoise hg - client pentru mercurial

    Cum să fuzionezi ramurile proiectului

    Expresia "Merge branches" în sistemele Mercurial și în alte sisteme de control al versiunilor înseamnă să fuzionezi modificările a două versiuni diferite. Aveți posibilitatea să îmbinați sucursalele atât dvs. cât și alții "și, cel mai important, puteți să vă îmbinați cu sucursala implicită.

    Apropo, mi-a lipsit momentul și nu am spus că sucursala implicită este o ramură care conține versiunea actuală stabilă a proiectului, adică Pentru a fuziona cu aceasta este posibilă numai atunci când toate modificările sunt depanate și testate.

    Dezvoltatorii noi atunci când clonarea unui proiect ar trebui să poată obține imediat un set complet de schimbări stabile pentru a începe să-și facă propriile, așa cum am făcut în exemplul respectiv.

    Deci, să combinăm editările noastre cu ramura implicită a proiectului. Pentru aceasta, deja cunoaștem metoda, actualizăm ultima versiune stabilă din ramura implicită.

    Tortoise hg - client pentru mercurial

    Apoi faceți clic dreapta pe nodul grafului, cu comitetul nostru (versiunea 69), selectați meniul "Merge with local".

    Tortoise hg - client pentru mercurial

    După ce faceți clic pe element, vor apărea casete de dialog, în toate acestea faceți clic pe "Next".
    Ca rezultat, obținem o astfel de imagine a graficului și o ramură implicită actualizată a proiectului.

    Tortoise hg - client pentru mercurial

    Puteți îmbina filiala de la dreapta la stânga sau de la stânga la dreapta. Dacă dezvoltați un modul propriu care necesită mult timp, dar în această perioadă ramura implicită este actualizată de alți dezvoltatori, trebuie să îmbinați modificările din ramura implicită în propria dvs., dar nu invers. Și trebuie să faceți acest lucru, atât de des, adesea, sucursala implicită este actualizată.

    Cum să aflăm că sucursala implicită sa refăcut

    De fiecare dată, înainte ca sutra să continue să se dezvolte, este necesar să întârziem toate schimbările de proiect făcute de alți dezvoltatori pe timp de noapte. Acest lucru ar trebui făcut cât de des posibil, astfel încât să nu existe situații în care două persoane diferite editează același fișier, suprascriind-o în rădăcină.

    În acest caz, atunci când încerci să fuzionezi ramuri, vor apărea conflicte care nu sunt ușor de înțeles. dacă în timp nu își sincronizează propria experiență cu ceilalți.

    Pentru a strânge modificările, dacă există, în panoul de control Tortoise HG. există o pictogramă de consultanță, care se numește "Întârzieri ale modificărilor primite de la adresa URL selectată".

    Iată ce am obținut făcând clic pe buton pentru a strânge modificările de la server:

    Se pare că în timp ce făceam schimbări de testare pentru a demonstra munca, cineva din echipă a făcut editările și le-a introdus date. Dar nu numai că a pregătit-o, dar a trimis-o la server, pentru a face o revizuire și o utilizare generală.

    Nu am menționat încă acest lucru și acum a sosit momentul. Toate acțiunile pe care le-am făcut au fost făcute pe copia noastră de lucru locală a depozitului. Aici este, chiar comoditatea pe care Mercurial o are și nici o SVN, toate comitetele pe care le-am făcut, au fost salvate numai pe calculatorul nostru și nu au interferat cu alții.

    Cum să aplicați modificările pe serverul central

    Acum, că totul este bine și nu există conflicte cu sucursalele recent trase, putem face operația inversă: trimiteți toate modificările pe serverul centralizat.

    Acest lucru se face făcând clic pe butonul "Împingeți modificările trimise către adresa URL selectată"

    Trimiteți datele dvs. către server, dăm ocazia celorlalți participanți la proiect, le trageți în copia de lucru și folosiți întregul proiect pentru propriile scopuri.

    Problemă la server

    Din păcate, nu totul este la fel de neted cum a fost descris mai sus, în realitate când trimiteți editările dvs. pe server, puteți obține adesea o eroare similară:

    căutând schimbări
    abort: push creează un nou cap de la distanță 3a37da9642d5!
    (ar trebui să tragi și să fuzionezi sau să folosești push-f pentru a forța)

    Prin urmare, după ce ați strâns schimbările (sau poate că nu au făcut-o, deși au fost obligați), în graficul de revizie au apărut doi șefi ai aceleiași sucursale. Acest lucru se poate întâmpla când doi dezvoltatori lucrează în aceeași ramură și fac periodic angajamente.

    În această situație, cel de-al doilea dezvoltator, în timp ce făceam schimbări, ne-a făcut schimbările, iar acum trebuie să ne gândim la ele.

    Cu alte cuvinte, trebuie să facem doar una dintre cele două versiuni ale aceleiași sucursale.

    O modalitate mai ușoară de a rezolva conflictele este să spui programului să-și ia întregul dosar local în întregime. În acest caz, versiunea combinată va fi fișierul dvs., fără modificările altcuiva. Acest lucru va ajuta la completarea îmbinării și împingerii în magazinul partajat, dar poate provoca probleme în capacitatea de lucru a proiectului. modificările făcute de un alt dezvoltator nu există acum în versiunea curentă.

    Pentru a rezolva această situație, este mai bine să contactați persoana a doua și să încercați să găsiți împreună acele părți ale codului în care trebuie să introduceți codul.

    În teorie, asta e totul, este complicat, dar în practică este mult mai ușor decât pare. Prin urmare, nu ar trebui să ne temem de conflicte, toate sunt rezolvate.

    Tortoise HG necesită întotdeauna un nume de utilizator și o parolă

    Dacă ați încercat în acțiune Tortoise HG. atunci cu siguranță observați verificarea intruzivă a fiecărei acțiuni, cererea pentru un nume de utilizator și o parolă. Pentru a nu ne deranja Tortoise HG, pentru a cere de la noi aceste date, trebuie să faceți o setare.

    Accesați folderul .hg situat în rădăcina copiei dvs. de lucru a seifului, este ascuns, pentru a putea fi necesar să configurați setările pentru afișarea fișierelor ascunse în managerul de fișiere. În acest dosar există un fișier hgrc. deschideți-l și efectuați următoarele corecții:

    Asta ar trebui să fie:

    Salvați fișierul și reporniți Workbench HG.
    După aceste acțiuni, cererea de parolă ne va opri.

    Tortoise hg - client pentru mercurial

    Oh, Mark! Unde erai înainte cu acest articol?))) Atât de mult timp i-ar fi permis să salveze))

    Marvel, Mark, am vrut să întreb, se dovedește că pentru fiecare proiect trebuie să faci un depozit separat.

    Da, fiecare proiect este un depozit separat. Teoretic, puteți începe o nouă filială cu o nouă revizuire pentru un nou proiect, deși acest lucru nu este foarte convenabil.







    Articole similare

    Trimiteți-le prietenilor: