Kako započeti s GitHubom: brzi početak. Detaljan uvod u rad s Gitom Potpuni vodič za rad s Githubom

Otpor prema promjenama temeljna je ljudska osobina. Ako Git nije postojao kada ste počeli raditi sa sustavima kontrole verzija, vrlo je vjerojatno da ste počeli sa Subverzijom. Ljudi često kažu da je Git pretežak za početnike. Međutim, ja se ne slažem s vama.

U ovom članku ću vam reći kako možete koristiti Git za rad na svojim projektima. Pretpostavimo da stvarate projekt od nule i želite koristiti Git kao svoj sustav kontrole verzija. Nakon predstavljanja osnovnih naredbi, pogledat ćemo kako možete objaviti svoj kod na GitHubu.

Ovaj će članak pokriti osnove - kako pokrenuti projekt, kako upravljati novim i postojećim datotekama i kako pohraniti svoj kod u oblak. Preskočit ćemo neke komplicirane stvari poput grananja jer je ovaj članak namijenjen početnicima.

Instaliranje Gita

Službena Git stranica dostupna je za različite sustave - Linux, Mac, Windows. U našem slučaju koristit ćemo Ubuntu 13.04, a Git ćemo instalirati putem apt-geta.

Sudo apt-get install git

Početna konfiguracija

Kreirajmo imenik u kojem ćemo raditi. Također možete koristiti Git za rad na postojećem projektu, u kojem slučaju nećete morati stvoriti demo direktorij kao što je opisano u nastavku.

Mkdir my_git_project cd my_git_project

Prvi korak je inicijaliziranje Git repozitorija u direktoriju projekta. To možete učiniti pomoću naredbe init, koja stvara .git direktorij sa svim informacijama o vašem projektu.

Git config --global user.name "Shaumik" git config --global user.email " [e-mail zaštićen]" git config --global color.ui "auto"

Važno je napomenuti da ako ne navedete svoju adresu i ime, umjesto njih će se koristiti zadane vrijednosti. U našem slučaju, zadane vrijednosti će biti donny i donny@ubuntu.

Također smo postavili boju sučelja na auto kako bi izlaz Git naredbi bio obojen. Ovim naredbama dodajemo prefiks --global kako bi se te vrijednosti koristile u cijelom sustavu i ne moraju se postavljati za svaki pojedinačni projekt.

Priprema datoteka za uvrštavanje

Sljedeći korak je stvaranje nekoliko datoteka. Možete koristiti bilo koji uređivač teksta. Imajte na umu da ako inicijalizirate Git na postojećem projektu, ne morate učiniti ovaj korak.

Provjera statusa repozitorija

Sada kada imate datoteke u svom projektu, pogledajmo kako Git rukuje njima. Za provjeru trenutnog statusa repozitorija koristite naredbu git status

Dodavanje datoteka u Git

U ovom trenutku Git ne prati niti jednu od naših datoteka. Morate posebno dodati datoteke u Git da bi se to dogodilo. Da bismo to učinili, koristit ćemo naredbu add.

Git dodaj moju_datoteku

Provjerivši status repozitorija, vidimo da je jedna od datoteka već dodana u njega.

Za dodavanje više datoteka koristimo sljedeće (imajte na umu da smo prvu datoteku dodali ranije, tako da dodajemo samo preostale dvije).

Git dodaj moju datoteku2 moju datoteku3

Moguće je koristiti git add rekurzivno, ali budite oprezni s ovom naredbom. Postoje neke datoteke (kao što su prevedeni programi) koje se ne bi trebale dodavati kontroli verzija. Ako koristite git add rekurzivno, takve će datoteke također završiti u repozitoriju.

Brisanje datoteka

Zamislimo da ste slučajno dodali datoteku u repozitorij koja tamo nije trebala biti. Ili želite ukloniti datoteku iz sustava kontrole verzija. Općenito, naredba git rm neće samo ukloniti datoteku iz repozitorija, već će je i fizički ukloniti s diska. Kako bi Git prestao pratiti datoteku, ali ona ostaje na disku, koristite sljedeću naredbu:

Git rm --cached [ime datoteke]

Potvrdite promjene

Nakon što ste sve dodali potrebne datoteke, možete ih predati u Gitu. Zamislite commit kao snimku stanja projekta u određenoj fazi, na koju se možete vratiti u bilo kojem trenutku i vidjeti stanje projekta u tom trenutku. Svaki commit ima poruku pridruženu sebi, koja je navedena kao argument nakon -m prefiksa

Git commit -m "Moj prvi commit"

Navedite poruku koja će sadržavati korisne informacije, budući da pomažu razumjeti što je točno promijenjeno unutar danog predavanja. Izbjegavajte sve općenite poruke poput "Pravila o pogreškama". Ako imate program za praćenje bugova, možete navesti poruku poput "Bug #123 fixed." Dobra praksa- u poruci navesti naziv poslovnice ili poboljšanja. Na primjer, "Upravljanje imovinom - dodana mogućnost generiranja PDF-a na temelju imovine" jasna je i razumljiva poruka.

Git identificira commit dugim heksadecimalnim brojem. Obično nema potrebe za kopiranjem cijelog retka; prvih 5-6 znakova dovoljno je za identifikaciju određene obveze. Na snimci zaslona možete vidjeti da je naš commit identificiran brojem 8dd76fc.

Dalje se obvezuje

Promijenimo nekoliko datoteka nakon što smo ih potvrdili. Nakon što ih promijenimo, git status će izvijestiti da smo promijenili datoteke.

Možete vidjeti što se promijenilo u ovim datotekama od prethodnog urezivanja pomoću naredbe git diff. Ako želite vidjeti promjene za određenu datoteku, možete koristiti git diff<файл> .

Potrebno je indeksirati promjene i izvršiti ih. Sve promijenjene projektne datoteke mogu se dodati u commit sljedećom naredbom:

Možete izbjeći korištenje ove naredbe dodavanjem opcije -a u git commit. Ova naredba će indeksirati sve promijenjene datoteke i predati ih. Ali ovaj pristup može biti prilično opasan, jer možete greškom počiniti nešto što niste željeli. Na primjer, recimo da ste otvorili datoteku i slučajno je promijenili. Prilikom indeksiranja promijenjenih datoteka, bit ćete obaviješteni o promjenama u svakoj datoteci. Ali ako predate sve promijenjene datoteke bez gledanja pomoći. git commit -a, tada će sve datoteke biti predane, uključujući one koje niste htjeli predati.

Nakon što indeksirate datoteke, možete početi s predajom. Kao što je ranije spomenuto, možete specificirati poruku za predaju koristeći -m prekidač. Ali također možete navesti komentare u više redaka pomoću naredbe git commit, koja otvara uređivač konzole za unos komentara.

Upravljanje projektima

Za pregled povijesti projekta možete koristiti sljedeću naredbu:

Prikazat će kompletnu povijest projekta u obliku popisa obveza i informacija o njima. Informacije o predaji sadrže raspršivanje obveze, autora, vrijeme i poruku predaje. Postoje mnoge vrste naredbi git log s kojima ćete se morati upoznati kada koristite Git grananje. Za pregled pojedinosti određenog obvezivanja i datoteka koje su promijenjene, pokrenite sljedeću naredbu:

Git show<хеш_коммита>

Gdje<хеш_коммита>- heksadecimalni broj povezan s predajom. Jer ovaj priručnik Namijenjeno početnicima, nećemo se osvrtati na to kako vratiti stanje na vrijeme određenog urezivanja ili kako upravljati granama.

Git je vrlo popularan sustav za kontrolu verzija i kolaborativni razvoj za projekte otvorenog koda. S Gitom možete pratiti promjene u izvorni kod vaših projekata, vratite se prethodne verzije u slučaju kritične pogreške, a također podijelite svoj kod sa svima i prihvatite ispravke od njih.

Ovo je moćan sustav koji vam omogućuje optimizaciju rada na vašim projektima. Ne postoje zahtjevi za jezikom ili strukturom datoteka, tako da programeri imaju potpunu slobodu djelovanja. U ovom članku ćemo pogledati kako koristiti git za početnike. Pogledajmo sve vrlo detaljno, od konfiguracije do grananja projekta.

Po tradiciji, prije nego što prijeđemo na primjere i rad s naredbom, pogledajmo njene glavne opcije i parametre. Git sintaksa je vrlo jednostavna:

$ git argumenti naredbe opcija

Prvo, pogledajmo opcije koje utječu na rad cijelog uslužnog programa:

  • -C- koristiti navedenu mapu repozitorija umjesto trenutne mape;
  • -c parametar=vrijednost- koristiti specificiranu vrijednost konfiguracijskog parametra;
  • -str- pomicanje kroz cijeli izlaz koristeći manje;

Sada pogledajmo git naredbe, ima ih malo više i uz pomoć njih ćete izvršiti sve glavne radnje:

  • dodati- dodati datoteku ili mapu u git repozitorij;
  • am- primijeniti sve zakrpe iz e-pošte;
  • arhiva- stvoriti arhivu datoteka;
  • prepoloviti- koristite binarno pretraživanje da biste pronašli željeni commit;
  • podružnica- vođenje grana projekta;
  • bala- pokretni objekti i poveznice u arhivi;
  • blagajna- prebacivanje između poslovnica;
  • trešnjevac- mijenjati postojeće obveze;
  • čist- brisanje svih nepraćenih projektnih datoteka i mapa;
  • klon- stvoriti kopiju udaljenog repozitorija u mapi;
  • počiniti- spremite promjene u repozitorij;
  • dif- vidjeti promjene između urezivanja;
  • dohvatiti- preuzimanje udaljenog repozitorija;
  • init- stvoriti spremište;
  • spojiti- spojiti dvije grane;
  • Vuci- integrirati udaljeni repozitorij s lokalnim;
  • gurnuti- poslati promjene u udaljeno spremište;
  • označiti- upravljanje oznakama;
  • radno stablo- upravljanje razvojnim stablima.

Argumenti ovise o korištenoj naredbi pa ćemo ih detaljnije pogledati u primjerima.

Kako git radi?

Dakle, iz svega gore navedenog vjerojatno već razumijete da vam kontrola verzija omogućuje pregled promjena u bilo kojoj fazi razvoja, kao i povratak na bilo koju točku. Ali to nije posve točno. Promjene se spremaju kao obveza. Na ruskom - fiksacija. Napravite početnu obvezu za spremanje početnog stanja projekta, a zatim za svaku promjenu. Ovo funkcionira kao snimke.

Osim toga, git vam omogućuje slanje podataka na udaljeni poslužitelj. Šalje se ne samo gotova verzija, već i sve snimke, tako da bilo tko u timu može vidjeti povijest promjena. Za svaku snimku potrebno je dati komentar kako bi rad s git-om bio lakši i pregledniji.

Kako koristiti Git?

Obično će struktura Git projekta ovisiti o veličini i složenosti vašeg programa. Ali prvo ćemo koristiti projekt koji se sastoji od samo jedne grane. Svaki projekt prema zadanim postavkama sadrži jednu granu, koja se naziva master. Naš prvi projekt zvat će se test.

Izrada projekta

Kada je git podešavanje završeno, prijeđimo na vaš projekt. Na samom početku trebate samo stvoriti mapu za datoteke projekta. Ako ćete raditi na više projekata, stvorite mapu git u svom početnom direktoriju i tamo smjestite svoje mape projekta:

mkdir -p ~/git/testiranje; cd ~/git/testiranje

Ova naredba će stvoriti željenu strukturu mape i promijeniti trenutni direktorij u novostvoreni. Kreirajmo sada prvu datoteku našeg projekta:

Projekt je spreman, ali git sustav kontrole verzija još ne zna za njega.

Postavljanje projekta u git-u

Prije nego što git počne pratiti promjene, morate pripremiti sve potrebne konfiguracijske datoteke. Prvo inicijaliziramo prazno spremište u našoj mapi:

Nakon što je spremište stvoreno, trebate dodati svoje datoteke u njega. Svaka datoteka mora se dodati zasebno ili možete reći uslužnom programu da izričito doda sve datoteke. Sve dok ne dodate samu datoteku, ona se neće pratiti. Nove datoteke također se moraju dodati u budućnosti; one se ne dodaju automatski. Prvo dodajmo trenutnu mapu:

Ako je sve prošlo dobro, naredba neće ništa ispisati.

Izvršavanje promjena

Promjene se također ne prate automatski. Uvrštavanje promjena vrši se pomoću naredbe commit. Morate naznačiti što je promijenjeno malim komentarom, doslovno nekoliko rečenica. Dobra je praksa obvezati se prije svake velike promjene.

Na taj način ćete pohraniti sve verzije projekta, od prve do sadašnje, a moći ćete znati što, kada i gdje je promijenjeno. Da biste kreirali svoje prvo pokretanje:

git commit -m "Početno commit" -a

Naredbi je potrebno proslijediti dva parametra, prvi je -m, vaš komentar, drugi -a, znači da akciju trebate primijeniti na sve promijenjene datoteke. Po prvi put se ova opcija koristi, ali obično morate navesti izmijenjene datoteke ili direktorije. Na primjer, možete učiniti sljedeće:

git commit -m datoteka "Promijenjena datoteka".

Slanje izmjena

Do ove točke sve smo radili u lokalnom repozitoriju. Možete koristiti git lokalno ako trebate samo kontrolu verzija, ali ponekad morate dijeliti informacije s drugim programerima i proslijediti podatke u udaljeno spremište.

Prvo morate dodati udaljeno spremište pomoću udaljene naredbe. Da biste to učinili, morate mu proslijediti URL:

git udaljeno dodavanje izvora https://github.com/Seriyyy95/testing.git

Tada možete vidjeti popis udaljenih spremišta:

Možete koristiti ne samo github poslužitelje, već i bilo koje druge. Sada za slanje promjena koristite ovu naredbu:

git push origin master

Push naredba specificira da želimo gurnuti podatke u udaljeni repozitorij, origin je naše konfigurirano spremište, a master je grana.

Upravljanje poslovnicom

Za jednostavne projekte dovoljna je jedna grana. Ali ako je projekt velik i ima nekoliko verzija, uključujući testnu verziju, tada ćete možda morati stvoriti zasebnu granu za svaku od njih. Prvo pogledamo dostupne grane:

Opcija -a specificira da sve grane trebaju biti izlazne, čak i one koje nisu sinkronizirane. Zvjezdica označava aktivnu granu. Kreirajmo sada razvojnu granu pomoću naredbe checkout:

git checkout -b razvijati

Također se možete prebacivati ​​između grana pomoću iste naredbe:

git checkout master
$ git checkout development

Kreirajmo sada drugu datoteku:

I dodajte ga u našu novu razvojnu granu:

Potvrdimo učinjene promjene:

git commit -m "razvojna datoteka" razviti

git grana
$ls

Zatim prijeđite na glavnu granu i pogledajte ponovno:

git checkout master
grana $git
$ls

Ovdje nema dosijea, tako treba biti. Git ima tako korisnu stvar kao što je spajanje. S njim možete spojiti dvije grane. Na primjer, premještanje koda iz radne grane u stabilnu. Da biste to učinili, samo pokrenite naredbu spajanja:

git merge development --no-ff

Prije nego što se izvrši spajanje, morate unijeti komentar zašto je to potrebno. Onda ako ponovno pokrenete l vidjet ćete da već postoji potrebna datoteka. Naši git primjeri su došli do kraja.

Zaključci

U ovom smo članku pogledali kako koristiti git za upravljanje verzijama vaših projekata. Ovo su samo najosnovnije informacije, a postoji još mnogo toga što git kontrola verzija može učiniti, ali gledajući to dodatne značajke je izvan opsega ovog članka. Nadam se da vam je ovaj članak bio od pomoći.

Prirodno je da se ljudi opiru promjenama. Ako niste bili upoznati s Gitom kada ste tek počeli raditi sa sustavima za kontrolu verzija, vjerojatno se osjećate ugodnije sa Subverzijom (SVN).

Ljudi često kažu da je Git pretežak za početnike. Međutim, molim da se ne slažem s tim.

U ovom vodiču ću vam pokazati kako koristiti Git u svojim projektima. Recimo da gradite projekt od nule i želite njime upravljati pomoću Gita. Prolazak kroz popis osnovnih naredbi dat će vam ideju kako ugostiti svoj kod u oblaku koristeći GitHub.

U ovom ćemo članku govoriti o osnovama Gita - kako inicijalizirati svoje projekte, kako upravljati novim i postojećim datotekama i kako pohraniti svoj kod u oblak.

Nećemo se doticati relativno složenih dijelova Gita, kao što je grananje, jer je ovaj vodič namijenjen početnicima.

Instaliranje Gita

Na službenoj Git stranici postoji detaljne informacije o instaliranju na Linux, Mac i Windows. U našem slučaju koristit ćemo Ubuntu 13.04 za demonstracijske svrhe, gdje ćemo instalirati Git koristeći apt-get:

sudo apt-get install git

Početno postavljanje

Kreirajmo imenik unutar kojeg ćemo raditi. Alternativno, možete koristiti Git za upravljanje jednim od svojih postojećih projekata; u ovom slučaju nećete morati stvoriti demo direktorij kao što je dolje:

mkdir moj_git_projekt cd moj_git_projekt

Prvi korak je inicijalizirati Git u direktoriju. To se može učiniti pomoću naredbe init, koja stvara .git direktorij koji sadrži sve informacije povezane s Gitom za vaš projekt.

git config --global user.name "Shaumik" git config --global user.email " [e-mail zaštićen]" git config --global color.ui "auto"

Važno je napomenuti da ako ne navedete svoje ime i adresu elektronička pošta, tada će se koristiti zadane vrijednosti. U našem slučaju, zadane vrijednosti bile bi korisničko ime donny i adresa e-pošte donny@ubuntu.

Osim toga, postavili smo za boju korisničko sučelje postavljen na auto, što će uzrokovati da izlaz Git naredbi bude označen bojom.

Prefiks --global prije naredbi služi za izbjegavanje unosa ovih konfiguracijskih naredbi sljedeći put kada pokrenemo Git projekt na našem sustavu.

Priprema datoteka za uvrštavanje

Sljedeći korak je stvaranje datoteka u direktoriju. Možete koristiti, na primjer, uređivač teksta Vim. Imajte na umu da ako namjeravate dodati Git u već postojeći direktorij, ne morate učiniti ovaj korak:

Provjerite status spremišta

Sada kada imamo nekoliko datoteka u našem repozitoriju, pogledajmo kako Git rukuje njima. Kako biste provjerili trenutni status repozitorija, morate koristiti naredbu git status:

Dodavanje datoteka u Git za praćenje

Na u trenutku nemamo datoteke za praćenje s Gitom. Moramo posebno dodati datoteke u Git kako bismo rekli Gitu što treba pratiti.

Dodajte datoteke pomoću naredbe add:

Ponovno provjeravajući status repozitorija, možemo vidjeti da je dodana jedna datoteka:

Za dodavanje više datoteka, možete koristiti sljedeći unos naredbe (imajte na umu da smo dodali još jednu datoteku u svrhu demonstracije):

git dodaj moju datoteku2 moju datoteku3

Možete koristiti git add rekurzivno, ali budite oprezni s ovom naredbom. Postoje određene datoteke (kao što su kompajlirane datoteke) koje se obično pohranjuju izvan Git repozitorija.

Ako naredbu add koristite rekurzivno, ona će dodati sve takve datoteke ako postoje u vašem spremištu.

Brisanje datoteka

Ali izvođenje jednostavne naredbe git rm ne samo da će ukloniti datoteku iz Gita, već i iz vašeg lokalnog datotečni sustav! Do

Git je prestao pratiti datoteku, ali sama datoteka ostaje na vašem lokalnom sustavu, pokrenite sljedeću naredbu:

git rm --spremljeno u predmemoriju

Obavijesti promjene

Nakon što udomite svoje datoteke, možete ih predati Gitu. Zamislite commit kao hvatanje određenog trenutka na koji se možete vratiti kako biste u tom trenutku pristupili svom spremištu.

Možete priložiti poruku svakom urezivanju, koje se dodaje pomoću prefiksa -m:

git commit -m "Moj prvi commit"

Dajte svojim obvezama korisne poruke jer će vam to pomoći identificirati što ste promijenili u tom obvezanju.

Izbjegavajte preopćenite poruke poput " Greške ispravljene" Ako imate alat za praćenje zadataka, možete dodati poruke poput " Ispravljena greška #234».

Dobra je praksa koristiti naziv grane ili naziv značajke kao prefiks poruke predaje. Na primjer, " Upravljanje imovinom: dodana funkcija za generiranje PDF datoteke imovina“ je značajna poruka.

Git identificira komitove dodavanjem dugog heksadecimalnog broja svakom komitu. U pravilu, ne trebate kopirati cijeli redak; prvih 5-6 znakova je dovoljno za identifikaciju vaše obveze.

Imajte na umu da je na snimci zaslona naš prvi commit definiran kodom 8dd76fc.

Dalje se obvezuje

Sada promijenimo nekoliko datoteka nakon našeg prvog urezivanja. Nakon što ih promijenimo, vidjet ćemo da je Git kao rezultat izvršavanja naredbe git status otkrio promjene u datotekama koje nadzire:

Možete provjeriti promjene na praćenim datotekama napravljene u posljednjem urezivanju pomoću naredbe git diff. Ako želite vidjeti promjene određene datoteke, koristite naredbu git diff :

Morate ponovno dodati ove datoteke kako biste unijeli promjene u praćene datoteke za sljedeće uvrštavanje. Sve praćene datoteke možete dodati pokretanjem naredbe:

Korištenje ove naredbe možete izbjeći korištenjem prefiksa -a za naredbu git commit, koja će dodati sve promjene u praćene datoteke.

Taj je postupak, međutim, vrlo opasan jer može naštetiti projektu. Na primjer, recimo da otvorite datoteku i promijenite je greškom.

Ako selektivno postavljate datoteke, primijetit ćete promjene u svakoj datoteci. Ali ako svom predanju dodate prefiks -a, sve će datoteke biti predane i nećete moći otkriti moguće pogreške.

Nakon što postavite svoje datoteke, možete započeti s predajom. Spomenuo sam da svaki commit može imati pridruženu poruku, koju unosimo pomoću prefiksa -m.

Međutim, moguće je unijeti poruku u više redaka pomoću naredbe git commit, koja otvara interaktivni obrazac za pisanje:

Upravljanje projektima

Za pregled povijesti vašeg projekta, možete pokrenuti sljedeću naredbu:

Ovo će pokazati cijelu povijest projekta, što je popis svih obveza i informacija o njima. Podaci o uvrštavanju uključuju raspršivanje, autora, vrijeme i poruku o uvrštavanju. Postoje razne opcije za git log koje možete istražiti nakon što svladate koncept grane u Gitu.

Za pregled detaljne informacije o određenom predanju i datotekama koje su promijenjene, pokrenite sljedeću naredbu:

git show

Gdje ovo je heksadecimalni broj povezan s predajom. Budući da je ovaj vodič namijenjen početnicima, nećemo govoriti o tome kako se vratiti u stanje određenog urezivanja ili kako upravljati granama.

Hosting kod u oblaku

Sada kada ste naučili kako upravljati kodom na svom sustavu, vrijeme je da ugostite kod u oblaku.