
William Charles
0
779
70
Filmovi i televizija prikazuju programiranje kao lažnu aktivnost Hollywood Hacks: Najbolje i najgore urušavanje u filmovima Hollywood Hacks: Najbolje i najgore hakiranje u filmovima Hollywood i hakiranje ne slažu se. Iako je hakiranje u stvarnom životu teško, hakiranje filmova često uključuje pucketanje na tipkovnici poput vaših prstiju. , Odbrojava merač bombe, a štreber koji je bio teret do tog trenutka, grozničavo djeluje na prijenosnom računalu. Kôd leti preko zaslona sve dok na zadnju tipku za povratak ne ispuni zadovoljavajući klopot! Tajmer se zaustavlja i ponovno je sve u svijetu. Ali programiranje nije ništa slično. Uključuje dizajnerske dokumente, nacrte za UI i preglede koda. I više od svega uključuje pokušaje i pogreške, pogotovo ako ste početnik (poput mene).
Sada ste se možda već uvjerili u vrijednost održavanja projekata kodiranja u kontroli izvora Što je Git i zašto biste trebali koristiti kontrolu verzije Ako ste programer Što je Git i zašto biste trebali koristiti kontrolu verzije ako ste programer Kao web programeri, puno vremena radimo na lokalnim razvojnim mjestima, a zatim samo prenosimo sve kad završimo. To je u redu kad ste samo vi, a promjene su male,… Uključivanje ove probe i pogreške u vaše spremište rezultirat će velikim i neurednim projektom, uz mnogo revizija. Većina stavki koje napravite sadržavat će pokvarene stvari, pa zašto ih spremati? Git grana ova značajka može vam pomoći da sav ovaj neuredan kôd držite podalje od stvari za koje znate da djeluju.
U ovom ćemo članku pogledati što znači grananje vašeg koda, kako to učiniti i načine upravljanja ažuriranjima “glavni” grana.
Stvaranje Git Branch-a
Saznali smo iz našeg uvoda o kontroli izvora. Upravljanje verzijama datoteka. Kao programer s Gitom. Upravljanje verzijama datoteka. Kao programer s Git. Programeri su stvorili upravljačke sustave verzija (VCS) za rješavanje problema s kontrolom verzije datoteke. Pogledajmo osnove upravljanja verzijama pomoću vrhunskog sustava danas, Git. da možete stvoriti novo spremište sa sljedećom naredbom u terminalu:
git init
Kad to učinite, stvara skrivenu mapu u vašem trenutnom putu, nazvanu “.Git.” Ako ga ne možete vidjeti, pogledajte neke od naših prethodnih članaka o gledanju skrivenih jednostavnih načina za prikazivanje skrivenih datoteka i mapa u sustavima Windows 10, 8.1 i 7 Jednostavan način prikazivanja skrivenih datoteka i mapa u sustavima Windows 10, 8.1 i 7 Trebate vidjeti skrivene datoteke i mape u sustavu Windows? Evo kako ih prikazati u sustavima Windows 10, 8.1 i 7 kako se od vas ništa ne skriva. datoteke Sakrij i pronađi bilo koju datoteku na Mac OS X Sakrij i pronađi bilo koju datoteku na Mac OS X Ne postoji jednostavan način za brzo sakrivanje ili otkrivanje skrivenih datoteka na Mac OS X kao što to postoji u sustavu Windows - ali to je moguće. , Ova mapa sadrži sve informacije potrebne za čuvanje povijesti revizija datoteka. Jednom kada postavite upravitelju datoteka da prikaže skrivene datoteke, možete otvoriti .git mapu i vidjeti brojne podimenike. Jedno od takvih se zove “refer” (prikazano na donjoj slici) i njezino “glave” poddirektor sadrži popise za sve grane u vašem projektu. Na početku ćete imati samo jedan, pod nazivom “ovladati; majstorski.”
Refs direktorij vodi evidenciju grane, ali ne i same grane. Barem, ne ona grana u kojoj si trenutno koristi. Te se datoteke čuvaju u radnom imeniku (“~ / Temp / post-programiranje-git-grana” u gornjem primjeru) tako da im možete pristupiti na normalan način. Radeći upravo to, stvaramo svoju prvu datoteku (nazvanu “prvi file.txt”) u radnom imeniku, tj. izvan .git direktorij. Označite to pomoću pouzdanih naredbi iz članka iz uvodnog uvoda. Upravljanje verzijom datoteke poput programera s Gitom. Upravljanje verzijama datoteka kao programer s Git. Programeri su stvorili sustave za kontrolu verzija (VCS) za rješavanje problema s kontrolom verzije datoteke. Pogledajmo osnove upravljanja verzijama pomoću vrhunskog sustava danas, Git. :
Sada možemo vidjeti da radni imenik ima dvije datoteke, onu koju smo počinili i jednu kreiranu automatski pomoću gita (sadrži poruku počinjenja koju smo upravo unijeli).
Sada, napravimo novu git podružnicu pod nazivom “testiranje”:
ispitivanje git grana
Provjeravanje grane i rad na njemu
Gornju naredbu možemo izdati bez ikakvih imena kako bismo dobili popis svih grana, kao i onu koju trenutno koristimo (tj. Koja je “odjavio”):
Ako ispitamo strukturu direktorija, vidjet ćemo “.Git / nogometa / glava” sada ima dvije datoteke, po jednu za “ovladati; majstorski” i “testiranje.”
Svaka od njih je popis stavki koje sačinjavaju podružnicu. Na primjer, ako ispitamo “ovladati; majstorski” ogranak s “git log” naredbe, možemo vidjeti liniju za svaki čin koji je izvršen toj grani.
Postupak od “provjeravanje” grana znači da će promjene koje unesete u datoteke biti dio te grane, ali ne i druge. Na primjer, pretpostavimo da provjerimo git za testiranje sa sljedećom naredbom:
git checkout testiranje
Zatim dodamo redak teksta u first-file.txt, naravno nakon toga ga počinimo. Ako se vratite na matičnu granu, vidjet ćete da je datoteka i dalje prazna ( mačka naredba prikazuje sadržaj datoteke u terminalu):
Ali povratak na “testiranje” grana, datoteka još uvijek sadrži dodani tekst:
Ali sve što ikada vidimo u direktoriju jest jedna datoteka “prvi file.txt.” Gdje su, dakle, ove dvije zamjenske verzije iste datoteke? .Git direktorij vodi te promjene, ali ne na način na koji očekujete.
Kako Git pohranjuje stvari
Ako biste trebali pregledati spremište za druge sustave za upravljanje verzijama, kao što je Subversion, otkrili biste da održavaju po jednu kopiju po reviziji za svaku pojedinačnu datoteku. To znači da ako imate spremište jedne datoteke, zatim stvorite dvije grane, repo sadrži dvije različite kopije te datoteke. U stvari to zapravo i koristite “svn copy” kao naredba za stvaranje ogranka u Subverziji! S druge strane, git djeluje na koncept “promjene.”
Izlaz iz gore navedenog govori nam o cjelokupnom sadržaju “deblo” (SVN-ova inačica od “ovladati; majstorski”) kopiran je. Pogled u upravitelju datoteka potvrđuje ovo:
“.Git / objekti” mapa je ono što sadrži sve te male promjene, a svaka od njih prati ID. Na primjer, na donjoj slici vidjet ćete datoteke s dugim imenima u ID-u. Svaki živi u mapi s dva heksadecimalna znaka (8c i 8d ispod).
Zajedno ova imena mapa i datoteka čine ID za određenu promjenu (zapravo hash SHA1). Možete istražiti njihov sadržaj pomoću izbornika git mačka-datoteka naredba. Na temelju njihovih izmijenjenih datuma možemo vidjeti jedan početak “8d” došao prvi, a ne pokazuje ništa. Dok onaj započinje “8c” sadrži redak teksta koji smo dodali datoteci u “testiranje” grana.
Git je ono što git grane (uključujući zadani “ovladati; majstorski”) nisu odvojene “mape” koji sadrže kopije datoteka. Umjesto toga, oni su popisi promjena izvršenih u datotekama s vremenom. Ovo je učinkovitije za pohranu, ali rezultat je isti. Sve što radite (razbijete?) U grančici gita ostaje tamo dok ga ne spojite.
Strategije spajanja natrag na glavnu podružnicu (za brisanje ili ne brisanje?)
Pretpostavimo da ste imali postojeći projekt s velikim brojem datoteka na koje ste se zatim razgraničili “testiranje,” i učinio neki posao na tome. Sada želite vratiti te promjene u “ovladati; majstorski” grana. U nastavku možete učiniti sa sljedećim “ovladati; majstorski” grana:
git merge testing
Pod uvjetom da nema sukoba, promijeniti koji će se sastojati od novog teksta primijenjen do “ovladati; majstorski.” Rezultat je “prvi file.txt” bit će identični u obje grane. Pa ipak, nikad nisu postojali alternativni verzije spisa.
Sad se postavlja pitanje, što učiniti s podružnicom? Dvije su zajedničke strategije za poslovanje s granama.
- Jedna je zadržati git grane poput “testiranje” igrati oko (prikazano gore). Pokušajte neke stvari i, ako ih natjerate da rade, spojite promjene natrag u “ovladati; majstorski.” Tada možete završiti rad na toj grani ili se čak u potpunosti riješiti. To znači vaše “ovladati; majstorski” je najstabilnija verzija koda, jer treba sadržavati samo one stvari za koje znate da djeluju. Ovaj pristup također možete smatrati korištenjem “imaju grane.” To je zato što je njihova svrha pročistiti jedan (ili više) specifičnih dodataka kodu.
- Drugačiji je pristup obavljati sve vaše glavne radove u “ovladati; majstorski” grana, čineći stvari na putu. Jednom kada ste zadovoljni funkcionalnošću, stvorite granu unutar nje u kojoj ćete raditi ispravljanje grešaka i slično. To rezultira s više a “izdana grana” (prikazano u nastavku), jer završavaju s izdanjem. To također znači i vaše “ovladati; majstorski” grana je tipično najnestabilnija verzija vašeg koda.
Koristite onu metodu koja je najbolja za vas
Prvi je pristup ovdje češći kod rada s gitom. Druge značajke (posebno oznake) olakšavaju označavanje određenog snimka koda kao “stabilan.” Bolje se daje i velikim, zajedničkim projektima. No, dok radite na svojim osobnim projektima, slobodno se poslužite onim što od njih ima najviše smisla. Sjajna stvar kod upotrebe gita je što zabilježite sve svoje promjene, tako da se uvijek možete vratiti i pronaći nešto. A organiziranje vašeg projekta s git granama to čini malo lakšim.
Kako pristupite granama u svojim projektima? Koristite li ih za eksperimentiranje, a zatim ih otpadate nakon toga? Ili predstavljaju detaljnu povijest vašeg rada na projektu?
Javite nam dolje u komentarima ako imate pametne načine bavljenja granama u svojim git projektima!