Lucrul de la distanță a devenit mult mai frecvent în dezvoltarea web în ultimii ani. Înainte de controlul versiunii, lucrul la distanță pe același proiect de dezvoltare ar fi fost un coșmar absolut. Dezvoltatorii ar fi trebuit să fie Trimiteți fișiere mari unul la altul (probabil prin e-mail), lipirea în codul propriu înainte de ao trimite înapoi. Nu a existat nici o modalitate reală de a urmări ceea ce fusese adăugat și când.
Din fericire, controlul versiunii a sosit și a făcut dezvoltarea pe toate fronturile mult mai ușor de gestionat. Proiectele web au devenit mult mai ușor de implementat și de gestionat, mai ales atunci când vine vorba de a lucra într-o echipă de dezvoltare de la distanță. Nu mai trebuie să vă faceți griji cu privire la versiunea actuală a unui site web suprascris - Fiecare membru al echipei este liber să lucreze în orice fișier oricând, nu există nici o confuzie cu privire la cea mai recentă versiune a unui fișier este stocată - și de sus Stocare in cloud Ajută și la procesul.
În acest tutorial, vom folosi Github. pentru a gestiona codul nostru. Există numeroase tipuri diferite de instrumente de control al versiunii, cum ar fi Bitbucket și TFVC, dar chiar dacă toate acestea sunt diferite, principiile rămân aceleași atunci când vine vorba de gestionarea codului.
Pentru mai multe modalități de a face mai ușor procesul de construire a site-ului, consultați ghidurile noastre spre partea de sus Builder de site-uri web și web hosting serviciu.
În primul rând, este foarte important să aveți un model de ramificare de succes atunci când lucrați în orice echipă pentru a face ca procesul de dezvoltare și desfășurare să funcționeze fără probleme. Va fi cel mai probabil să aveți mai mulți dezvoltatori care lucrează la același proiect. Când lucrați cu o forță de muncă la distanță, cred că cel mai bun flux de lucru este compus din trei ramuri principale, precum și un set de temporari:
De asemenea, va fi un set de ramuri de caracteristici. Cu toate acestea, acestea vor fi doar temporare pentru a construi inițial noile caracteristici.
Să presupunem că conduceți o echipă cu doi dezvoltatori care lucrează de la distanță. Le vom numi Sarah și James: ambele lucrează la același site de comerț electronic pentru un client. Sarah trebuie să dezvolte o caracteristică care înregistrează detaliile clientului.
Vom sparge acest lucru în trei povestiri separate - adăugând, editare și eliminare - și apoi adăugați aceste trei bilete în backlogul Sprint.
Deci, hai să spunem că Sarah începe pe secțiunea Adăugarea detaliilor clientului. Ea ar trebui să creeze ramura "client-detalii" și o poveste de utilizator una pentru prima sarcină "add-detalii".
Git Checkout dezvoltă & amp; & amp; git trage originea / dezvolta
git checkout -b caracteristică / detalii client
git checkout -b add-detalii
Sarah va continua să lucreze la filiala temporară "add-adresă" la nivel local și să-și angajeze munca în timp ce se dezvoltă. Acum, să spunem că James vrea să-l ajute pe Sarah cu caracteristica Detaliile clienților, așa că începe să lucreze la ștergerea detaliilor.
James ar trage ultima versiune a ramurii comune și va crea o nouă ramură pentru povestea utilizatorului "DELETE-detalii". Apoi, el poate începe să-și facă propriile adăugări fără a vă îngrijora să suprascrie codul lui Sarah.
Git Checkout caracteristică / detalii client
git trage originea / caracteristica / client-detalii
git checkout -b delete-detalii
El va folosi, de asemenea, sucursala sa temporară pentru a codifica la nivel local și comite orice schimbări. Odată ce Sarah și-a terminat funcția la nivel local, ea pune biletul în revizuirea codului. Ea ar împinge codul ei la sucursala de staționare și va deschide o cerere de tragere cu mediul de staționare.
// își împinge codul la filiala de staționare
Git Push Origine Adăugați-Detalii
// deschide o cerere de tragere cu mediul de staționare
Git Cerere-Pull Stading Add-Detalii
Vom avea acum ramurile de caracteristici ale clienților și cele două dintre povestea celor două dintre povestea utilizatorilor în dezvoltarea "Adăugați-detalii" și "DELETE-detalii".
Odată ce codul ei a fost revizuit, ea își poate îmbina filiala în staționare. Biletul este acum în coloana de validare, așteptând validarea de la dezvoltatorul principal.
// Ea primește ultima versiune a ramurii de staționare
git checkout stadials & amp; & amp; git trageți originea / stadializarea
Git Merge Add-Detalii & amp; & amp; git push origine stadializare
// ea construiește mediul de validare
// solicită ca proprietarul produsului să valideze
Odată ce lucrarea lui Sarah a fost validată, biletul poate fi mutat în coloana făcută. Ea își poate îmbina munca în filiala caracteristică și începe o altă poveste de utilizator, cum ar fi ștergerea detaliilor clienților.
// Ea trage ultima versiune a ramurii de caracteristici
Git Checkout caracteristică / detalii client
git trageți caracteristica / detaliile clientului
git Merge add-adresa & amp; & amp; Git Push Origine caracteristică / detalii despre client
Atunci când întreaga caracteristică a fost validată atât de dezvoltatorul principal, cât și de client, Sarah poate îmbina filiala caracteristică în dezvoltarea, deoarece este gata să plece.
// Ea primește ultima versiune a ramurii de dezvoltare
git checkout dezvoltare & amp; & amp; git trage originea / dezvolta
Git Mergen Caracteristică / Detalii client & Amp; & amp; Git Push Origine se dezvoltă
Odată ce totul este complet și este gata să se desfășoare în producție, James fuziune se dezvoltă în eliberare și lansează implementarea. În acest moment, el știa că tot codul este corect și clientul este fericit. El etichetează comiterea eliberării pentru a obține istoria fiecărei versiuni.
Git Checkout dezvoltă & amp; & amp; git trage originea / dezvolta
Git Checkout RELEASE & AMP; & amp; git trage originea / eliberarea
git Merge dezvoltă & amp; & amp; git etichetă 2.1.
Git Push Origine Clecare --Tags
Acest flux de lucru de dezvoltare de la distanță poate fi destul de dificil de înțeles la început, dar dacă obțineți echipa dvs. să lucreze prin această metodă, atunci aveți un flux de lucru gratuit fără a fi nevoie să panică despre fișierele care sunt suprascrise sau dezvoltatorii dvs. care lucrează în aceeași zonă.
Există câteva lucruri cheie de reținut:
git co dezvolt & amp; & amp; git trage originea / dezvolta
git sucursală -d staționare & amp; & amp; Git Push Origine - Stadializare
git co -b stadials & amp; & amp; Git Pull Origin Stadializare
Cu proiecte mai mici, este posibil să doriți să utilizați un flux de lucru mai puțin complex. Ați putea utiliza Maestrul, care conține cea mai recentă versiune, o ramură de dezvoltare și apoi un set de ramuri pentru fiecare caracteristică suplimentară - fie că este vorba de forum, formular de contact, sistem de checkout. Totul depinde de preferința dvs. personală.
Dealizarea conflictelor de îmbinare este destul de dificilă dacă lucrați în aceeași cameră, dar ele pot deveni și mai mult decât un coșmar dacă lucrați într-un birou diferit. Cel mai important lucru este să vă amintiți că puteți întotdeauna să fuzionați și să reveniți la stat înainte de a apărea conflictul.
Indiferent dacă faceți toate fuziunile ca dezvoltator de plumb sau echipa dvs. sunt cele care le fac independent, primul pas este să înțelegeți ce sa întâmplat.
Git vă va spune că aveți căi nememberate prin intermediul git status. :
$ GIT Statut
# Pe sistemul de checkout-sistem
# Ai căi nememberate.
# (fixați conflictele și rulați "git comite")
#
# Căi nemerite:
# (Utilizați "git add & lt; fișier & gt; ..." la marcajul de rezoluție)
#
# Ambele modificate: Checkout.html
#
Nu s-au adăugat modificări să comită (utilizați "git adăugați" și / sau "git comitet-o")
Acum, cea mai frecventă cauză a unui conflict este atunci când modificările afectează aceleași fișiere pe aceeași linie. Deci, hai să aruncăm o privire la conținutul liniei conflictuale. Veți observa că GIT este foarte bun în faptul că va marca zona în conflict prin închiderea acestuia & lt; & lt; & lt; și ca; și & gt; & gt; & gt; & gt; & gt; & gt; & gt; și gt; . În acest caz, este Sistemul de verificare .
& lt; & lt; & lt; & lt; CAP
Această linie a fost comisă în timp ce lucrează în sucursala "Formular de utilizator".
=======
Această linie, în contrast, a fost comisă în timp ce lucrează în sucursala "Checkout-System".
& gt; & gt; & gt; & gt; & gt; & gt; Refs / capete / Checkout-System
Conținutul după primul marker provin din ramura de lucru curentă. După parantezele unghiului, Git ne spune ce ramură au venit schimbările. O linie cu ======= Separă cele două schimbări conflictuale.
Acum puteți deschide fișierul într-un editor, căutați marcatorii de conflict și faceți modificările necesare. Când ați terminat, fișierul trebuie să arate exact așa cum doriți să arate sau, alternativ, puteți spune lui Git că veți merge pur și simplu cu una dintre versiunile editate, numită a noastra sau a lor .
Git Checkout - Calea / Conflict-File.html
Există, de asemenea, multe aplicații pentru unelte de îmbinare care pot ajuta cu acest lucru. Kaleidoscopul este unul grozav pentru Mac.
Este la fel de important ca un dezvoltator de plumb pentru a avea un instrument de management de proiect pentru a gestiona lucrurile, cum ar fi sarcini și bug-uri, mai ales atunci când dezvoltatorii dvs. nu se bazează pe birou. Există numeroase soluții acolo, cum ar fi Zenhub și Asuna, dar cred că proiectul încorporat și sistemul de emisiune al lui Github este cel mai bun.
Puteți face lucruri cum ar fi creați un nou proiect, creați panouri sau atribuiți probleme. Și nu confunda problemele cu probleme: îl puteți folosi și pentru îmbunătățiri, întrebări și bug-uri, printre altele.
Iată câteva dintre cele mai bune caracteristici:
Dacă mergeți la GitHub și apoi faceți-vă la una din depozitele dvs., veți vedea o filă numită proiecte. De acolo puteți selecta un nou proiect, configurați detaliile proiectului și creați un nou șablon de proiect.
Dacă selectați acum fila Probleme care este de-a lungul vârfului și selectați o nouă problemă, veți putea crea o nouă problemă. Apoi, puteți aplica diferite etichete - acestea sunt lucruri cum ar fi bug, îmbunătățire, întrebare și duplicat. De asemenea, puteți utiliza îmbunătățirea pentru o nouă caracteristică sau o solicitare. Apoi, puteți atribui diverși membri ai echipei la sarcină, o piatră de hotar și, de asemenea, proiectul pe care tocmai l-ați creat.
Membrii alocați vor avea apoi o listă a tuturor sarcinilor lor și puteți folosi chiar și Consiliul de proiect pentru a păstra o urmă a ceea ce este construit în prezent. Dacă vă amintiți tutorialul nostru anterior, vorbim despre mișcarea biletelor la Sprint Backlog și validare. Deci, GitHub funcționează foarte bine ca un instrument all-in-one pentru supravegherea unui proiect.
Acest articol a fost inițial publicat în numărul 311 din net , cea mai bună revistă din lume pentru designeri și dezvoltatori web. Cumpăra problema 311 aici sau Abonați-vă aici .
Articole similare:
[Imagine: Web Designer] Când vine vorba de animarea cu SVG-urile, o oprire majoră poate fi ideea de a fi încurcat ..
Baza fiecărui site web este de a împărți pagina în jos în elemente mai mici care au conținut. Marea problemă cu acest luc..
Puteți face foarte mult cu CSS - poate mai mult decât credeți - dar limbajul foii de stil venerabil are limitările sale. Înt..
Când este folosit bine, CSS animație poate adăuga un interes și personalitate pe site-ul dvs. În acest articol, vom trece prin modul de a crea un ..
Când învățați Cum de a desena O lucrare de artă de viață continuă, este important să se creeze interes �..
Indiferent de utilizarea finală, cele mai multe scene centrate pe o structură făcută de om vor beneficia de o atingere de fru..
Recenta pre-eliberare a noului Adobe Felix Pachet 3D. Face acest lucru minunat pentru a lua saltul de la 2d la imaginea 3D. Proiectul Felix este conceput pentru designeri, mai ..
Ca un freelancer cu normă întreagă, sunt obișnuit să lucrez într-o gamă de stiluri și Tehnici de desen . A..