субота, март 09, 2013

Git

Git je sistem upravljanja izvornim kodom koji je razvio Linus Torvalds nezadovoljan postojećim sistemima. Osnovna karakteristika Git-a je distributivnost, što znači da, nakon inicijalnog kloniranja repozitorijuma, nije neophodno komitovati svaku izmenu na server, već se one spremaju u lokalni repozitorijum pa se kasnije kada se steknu uslovi mogu sve komitovati đuture. Sledi kratak sinopsis kreiranja Git repozitorijuma.

Najpre ćemo, nakon instalacije Git-a, podesiti neke globalne promenljive:

git config --list
git config --global user.name "Majstor Kvariš"
git config --global user.email majstor@domen.com
git config --global core.editor vim
git config --global merge.tool vmdiff
git config --list

Zatim ulazimo u direktorijum gde nam se nalazi kod i kreiramo Git repozitorijum:

git init
git status
git add *.php
git add *.css
git add include
git add javascript
...

Ukoliko neke fajlove/direktorijume iz projekta ne želimo da dodamo u repozitorijum, kreiraćemo lokalnu datoteku pod nazivom .gitignore i u nju dodati nazive odnosno paterne za ignorisanje:

vim .gitignore
.*
backup
http_logs
cookie*

Nakon što se pomoću komande git status uverimo da su u projektu fajlovi koje želimo, uradićemo komit:

git commit -m 'Initial commit'
git log

Sada imamo naš prvi Git repozitorijum. Zamislimo da se on nalazi na nekom serveru i da želimo da ga kloniramo u lokalnom direktorijumu. Kucamo sledeće u lokalu:

git init
git status
git remote add origin ssh://user@host:port/to/git
git remote
git fetch origin
git checkout master

i eto ga projekat lokalno kod nas spreman za rad na njemu. Možemo i kod nas u lokalu podesiti globalne promenljive (user.name, user.email itd.) a možemo i po projektu podešavati promenljive izostavljanjem --global. Na primer:

git config user.email alias@domen.com

Ako izmenimo neki fajl iz projekta, recimo index.php, i otkucamo git status, dobićemo informaciju o tome da je fajl izmenjen ali da nije kandidat za komit. Da bismo fajl index.php pripremili za komit, otkucaćemo

git add index.php
git status

i dobiti listu fajlova spremnih za komit. Na kraju kucamo

git commit -m 'Fixed bug'

čime komitujemo izmene. Ako želimo da preskočimo git add korak, možemo da kucamo

git commit -a -m 'Fixed bug'

čime ćemo komitovati sve izmenjene fajlove. Komande


git diff
git diff --staged

nam prikazuju promene na fajlovima. Na kraju da bismo izmene podigli onlajn, kucamo

git push origin master



Нема коментара:

Постави коментар