"Sunt sigur ca Git este grozav, dar pare complicat - ma voi lipi de fluxul de lucru curent" este ca si cum ai spune "Sunt sigur ca IDE precum FlashDevelop si Sublime Text sunt minunate, dar arata complicate - Notepad“. Da, sigur, există o mică curbă de învățare și tu poți trăi fără ea, dar e nebună. În acest articol, voi explica de ce Git (și GitHub) este atât de mare și vă arată cum să începeți rapid și ușor.
Notă: Multe dintre ceea ce spun aici se aplică și altor sisteme de control al versiunilor, cum ar fi Subversion, dar Git este atât de popular încât dacă aveți o alegere liberă, vă recomandăm să mergeți cu.
Git are avantaje pentru toți dezvoltatorii de jocuri, indiferent dacă lucrează solo sau într-o echipă. Să trecem prin cele mari:
Se poate spune că principalul punct al lui Git este că poate lua un "instantaneu" al directorului de lucru al întregului joc, ori de câte ori îl întrebi și puteți reveni oricând la oricare dintre aceste instantanee.
Acesta este un sistem mult mai bun decât să faceți o copie a întregului dosar ori de câte ori obțineți o versiune activă a jocului sau trimiteți codul prin e-mail cu o descriere, astfel încât să nu-l pierdeți.
În plus, nu sunteți limitat la o linie dreaptă de undos și redos; vă puteți împărți proiectul într-un proces separat ramură de instantanee și de schimbare între ramuri la voință. Aceasta înseamnă că puteți adăuga noi caracteristici la versiunea 1.1, apoi treceți înapoi la v1.0 și aplicați o corecție de bug; sau să lucrați la o caracteristică experimentală și să o eliminați dacă nu funcționează; sau să vă păstrați separat versiunile mobile și tablete împreună.
De fapt, Git nu doar lăsa adăugați comentarii - vă încurajează, chiar vă cere să faceți asta. Practic, ori de câte ori salvați un instantaneu, scrieți un comentariu care descrie modificările pe care le-ați făcut de la ultimul instantaneu.
Iată câteva exemple de comentarii de la Tiled, un editor de nivel excelent pe care l-am acoperit înainte:
Pe lângă faptul că facilitează găsirea unui anumit punct din istoria unui proiect (adesea util pentru urmărirea cauzei unui bug), acest lucru ajută și la construirea unor obiceiuri bune de dezvoltare: veți descoperi că rupeți munca în jos în sarcini mai mici, astfel încât fiecare parte poate fi descrisă într-un scurt comentariu, mai degrabă decât să lucrezi simultan la opt lucruri diferite.
Până acum, am vorbit despre Git, care este doar un instrument software cum ar fi Zip sau e-mail sau FTP. gitbutuc, prin contrast, este un site web care vă poate găzdui instantaneele Git (și, prin urmare, întregul dvs. proiect).
Există și alte site-uri de găzduire Git și este, de asemenea, posibil ca dvs. să vă găzduiți propriile proiecte Git pe propriul dvs. server, dar GitHub este de departe cel mai proeminent. Gândiți-vă la fel ca Gmail: nu este singura aplicație de e-mail bazată pe web, dar pentru mulți ar putea fi.
Multe jocuri și instrumente gamedev sunt disponibile public pe GitHub, cum ar fi Tiled (pe care l-am menționat mai sus) și Starling Framework (pe care am acoperit-o și mai înainte). Aceasta înseamnă că, mai degrabă decât să descărcați versiunea curentă a Starling Framework ca fișier zip și să îl extrageți în proiect, puteți importa întregul dosar în proiectul dvs. și îl puteți actualiza automat ori de câte ori există o schimbare.
De asemenea, puteți sugera noi funcții sau raportați bug-uri prin tracker-ul de probleme:
Puteți chiar să creați o copie locală ("furculiță") a proiectului, să adăugați noua caracteristică sau să remediați bug-ul dvs. și să trimiteți fotografia înapoi proprietarilor proiectului pentru a lua în considerare integrarea cu versiunea principală.
(S-ar putea să fi observat că am început să găzduim mai multe fișiere sursă pe GitHub în Tuts + - acesta este în mare parte motivul!)
Toate motivele de mai sus fac ca Git să fie foarte valoroasă pentru dezvoltatorii solizi. Dar multe dintre aceste beneficii sunt inerente, de asemenea, la îndemână atunci când lucrează într-o echipă:
Git are, de asemenea, caracteristici pentru "îmbinarea" diferitelor fragmente de cod împreună, forțându-vă să vă ocupați de orice ciocnire, mai degrabă decât să suprascrieți orbește părți ale proiectului.
Instalarea Git și configurarea acesteia a fost o afacere complicată, implicând utilizarea liniei de comandă pentru a genera "chei SSH" și uf. Dar acum este foarte simplu: tot ce trebuie să faceți este să descărcați și să instalați GitHub pentru Windows sau GitHub pentru Mac, după caz.
Da, da, știu, am spus că GitHub este un site web pentru găzduirea instantaneelor Git, dar aici vă spun să instalați GitHub să utilizeze Git. Este confuz: aplicația GitHub-the-app este software care instalează Git și vă oferă o interfață plăcută pentru aceasta, oferindu-vă, de asemenea, opțiunea de a găzdui instantaneele pe site-ul GitHub.
Nu vă faceți griji. Doar descărcați versiunea pentru sistemul dvs. de operare și instalați-o. Dacă nu folosiți Linux, caz în care îmi este frică do trebuie să mergeți pe traseul complicat.
Vă voi ajuta să vă configurați Git pentru orice joc sau proiect pe care lucrați în prezent, astfel încât să puteți începe să îl utilizați pentru mai mult decât pentru un exercițiu fals. Folosesc GitHub pentru Windows, dar pașii vor fi foarte asemănătoare în GitHub pentru Mac. De asemenea, prefac că bfxr este proiectul meu pe care lucrez, ceea ce nu este în totalitate.
Deschideți GitHub pentru Windows și faceți clic pe crea pentru a începe să faci un nou "repo" (scurt pentru "depozit" - în esență, locul în care sunt stocate toate instantaneele pentru acest joc sau proiect). Introduceți un nume și o descriere pentru proiectul dvs. și lăsați directorul ca implicit (nu este necesar ca acesta să se potrivească cu directorul existent al proiectului dvs.). Asigura-te Apasă pe github nu este bifată.
Faceți dublu clic pe repo-ul dvs. nou creat pentru al deschide în aplicație:
Veți vedea că vă spune că există două fișiere care urmează să fie "angajate" (adică să fie adăugate la repo ca instantaneu); acestea sunt fișierele de configurare Git regulate, așa că tastați un comentariu bland în Trimiteți mesajul caseta și lovit comite:
Acum, faceți clic pe instrumente> deschide în explorer pentru a deschide directorul de lucru al Git pentru proiect. Acesta va fi gol în afară de cele două fișiere de configurare (și un ascuns .git dosar, pe care îl puteți vedea sau nu):
Copiați întregul proiect în acest dosar. (Da, acest lucru este murdar, dar cel puțin în acest fel puteți fi siguri că aveți o copie de siguranță dacă ceva nu merge bine.)
Du-te înapoi la GitHub pentru Windows - se va observa că aceste fișiere noi au apărut:
Împingeți și aceste fișiere și sunteți pregătit cu primul dvs. repo de bază!
Acum faceți o schimbare în proiectul dvs. Puteți adăuga un fișier nou sau modifica unul existent:
Du-te înapoi la GitHub pentru Windows, și va fi detectat și acest lucru. Impuneți această modificare, apoi selectați-o din neînțelegeri comite listă și lovit revert comite. Veți avea acum o nouă comitet care revine comitetului anterior - acest lucru pare puțin confuz, dar înseamnă că țineți evidența a tot ceea ce faceți!
Verificați fișierele proiectului actual:
Noul fișier (sau schimbarea făcută de alt fișier) a fost într-adevăr dispărut. Puteți reveni la revenire, dacă doriți, adăugând încă un alt angajament la lista dvs. sau întoarce-te se angajează să o elimine complet din listă.
Asta e? Da. Dar, de asemenea, nu. Am pus întregul articol pe GitHub, astfel încât să puteți experimenta cu site-ul solicitând "îmbunătățiri" (sugestii pentru ceea ce doriți să vedeți adăugate) și logarea "bug-urilor" (probleme cu articolul).
Dacă vă simțiți cu adevărat aventuros, încercați să "fărâmiți" articolul pe computerul dvs., făcând-vă propriile adăugiri, apoi trimiteți o solicitare de tragere pentru al adăuga pe site ... dacă niciunul din aceste lucruri nu ți-a făcut sens, nu-ți face griji ; o revizuire ulterioară va include mai multe detalii!