Git

Дусал нэвтэрхий толь-с

Гит нь төлбөргүй, нээлттэй эхтэй, хурдтай, бүтээмжтэй ажилладаг Хувилбар Удирдах Тархмал Систем юм. Гитийг Линус Торвалдс Линукс цөмийн хөгжүүлэлтэд зориулан анх 2005 онд бүтээсэн байна.


Ерөнхий

Үндсэн онцлогууд

  • Хурдтай
  • Энгийн загвартай
  • Тархмал/Шугаман бус хөгжүүлэлтэд тохиромжтой
  • Даацтай (том хэмжээний төслүүдэд хурдаа алдахгүй)


Гит ашигладаг томоохон төслүүд


Хадгалалт

Гит болон бусад ХУС (Subversion г.м.) нь хоорондоо ялгаатай бөгөөд Гит өгөгдлийг хадгалах аргаараа ялгардаг. Бусад системүүд файл бүрт орсон өөрчлөлтүүдийг л (diff) хадгалдаг. Бусад ХУС дээр өөрчлөлтийг хэрхэн хадгалдагийг харъя:

18333fig0104-tn.png

Харин Гит өгөгдлийг бүхэлд нь нэгэн бяцхан файлсистемийн агшины цуглуулга гэж үздэг. Гит агуулахдаа файлын өөрчлөлтийг хадгалах бүрт файл бүрийн тухайн агшин дахь зураглалыг хадгалан авдаг байна. Хэрвээ аливаа файл өөрчлөгдөөгүй байвал файлыг дахин хадгалалгүй өмнөх хувилбарын холбоосыг хадгалчихдаг. Гитийн хадгалах арга:

18333fig0105-tn.png


Суурин ажиллагаа

Гит агуулахтай ажиллах үед алсын сервертэй холбогдох шаардлага ерөнхийдөө байхгүй тул хүлээлт огт байхгүй гэж хэлж болно.


Нэгдмэл байдал

Гит дээр аливаа зүйлийг хадгалахаас өмнө хэшлэж, цаашид хэш дугаараар нь хаяглаж, жишиж явдаг. Ингэснээр Гитээс гадуур ямар ч файлыг өөрчлөх боломжгүй болж байгаа юм. Энэ үйл ажиллагаа Гитийн хамгийн доод түвшинд суусан байдаг бөгөөд ажиллах зарчмын нэг хэсэг нь юм. Хэрвээ ямар нэг файл дамжуулах явцад эвдэрсэн эсвэл алдагдсан тохиолдолд Гит мэдэгдэх болно.

Гит файлыг нэрээр нь болон агуулгынх нь SHA-1 хэшээр хадгалж, сандаа хэш хаягийг нь хадгалж явдаг.


Ажлын гурван талбар

Гиттэй ажиллахад зайлшгүй ойлгох нэгэн ойлголт бол ажлын 3 талбар юм.

  • Ажлын хавтас
  • Завсрын орчин
  • Агуулах

Аливаа файл амьдралын мөчлөгт энэ гурван талбарыг дайрч өнгөрдөг. Ажлын жирийн явц(урсгал) дараах байдалтай харагдана:

  1. Агуулахаас ажлын хавтас руу файлаа татна.
  2. Ажлын хавтсан дахь файлд өөрчлөлт хийсний дараа завсрын орчин руу шилжүүлнэ.
  3. Өөрчлөлтөө хадгалахын тулд завсрын орчин дахь файлыг агуулахад хийнэ. Өөрөөр хэлбэл ажлын хавтаснаас шууд агуулах руу орохгүй гэсэн үг.

18333fig0106-tn.png


Суулгах

Эх кодоос суулгах

Хувилбар шинэчлэгдэх тусам шинэ шинэ сайжруулалт нэмэгдэх тул эх кодоос хамгийн сүүлийн хувилбарыг суулгах нь зүйтэй.

Гитийг эх кодоос суулгахын тулд Гит хамаардаг дараах сангуудыг суулгах шаардлагатай: curl, zlib, openssl, expat, libiconv. Жишээ нь таны хэрэглэдэг системд yum (Федора) эсвэл apt-get (Дебиан суурьт) байдаг бол дараах тушаалуудаар эдгээр хамаарлуудыг суулгана:

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev

Бүх хамаарлуудыг суулгасны дараа Гитийн вэб хуудаснаас сүүлийн хувилбарыг татаж аваарай:

http://git-scm.com/download

Дараа нь эх кодыг хөрвүүлээд суулгана:

$ tar -zxf git-1.6.0.5.tar.gz
$ cd git-1.6.0.5
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install

Үүний дараа Гитийн шинэчлэлийг өөрөөр нь татаж авч болно:

$ git clone git://git.kernel.org/pub/scm/git/git.git

Линукс дээр суулгах

Линукс дээр Гитийг хоёртын суулгагч (binary installer) ашиглан суулгах бол тухайн тархац дээрх багц удирдагч хэрэгслийг ашиглана.

Хэрвээ Федора дээр бол yum ашиглаж болно:

$ yum install git-core

Үбүнтү гэх мэт Дебиан суурьт тархац дээр бол apt-get ашиглаж болно:

$ sudo apt-get install git-core

Макинтош дээр суулгах

Гитийг Мак дээр хоёр арга суулгана. Хамгийн амархан нь Гитийн график суулгагч - Google Code хуудаснаас нь татаж авч болно:

http://code.google.com/p/git-osx-installer

18333fig0107-tn.png

Ихэвчлэн хэрэглэдэг нөгөө арга нь Гитийг МакПортс (http://www.macports.org) ашиглаж суулгах юм. МакПортс суулгасан бол дараах тушаалаар Гитийг суулгаарай:

$ sudo port install git-core +svn +doc +bash_completion +gitweb

Бүх нэмэгдлийг авах шаардлагагүй ч Гитийг SVN агуулахтай хамтран ашиглахад +svn хэрэг болно.


Виндовс дээр суулгах

Гитийг Виндовс дээр суулгах маш амархан. msysGit бол суулгахад эвтэйхэн програмуудын нэг юм. Суулгагч exe файлыг Google Code хуудаснаас татаж аваад ажиллуулахад хангалттай:

http://code.google.com/p/msysgit

Дээрхийг суулгаснаар тушаалын мөрийн (command-line) хувилбар (SSH клиенттэй) болон жишиг график горимтой хувилбар (GUI) хэрэглэхэд бэлэн болно.


Тохируулах

Нэр усаа тохируулах

Агуулахад өөрчлөлтөө хадгалахад бүртгэгдэх нэр, э-шуудангийн хаягийг тохируулах:

$ git config --global user.name "blackrock"
$ git config --global user.email blackrock@blah.blah

Засварлагчаа тохируулах

$ git config --global core.editor "vi"

Өнгө ялгагчийг тохируулах

$ git config --global color.status auto

Тушаал товчлох, өөрөөр нэрлэх

Гитийн зарим түгээмэл хэрэглэгддэг тушаалуудыг товчлоё:

$ git config --global alias.co checkout
$ git config --global alias.br branch
$ git config --global alias.ci commit
$ git config --global alias.st status

Алсын агуулах руу түлхэж оруулах (push) тушаалыг товчилсон нь:

$ git config --global alias.pom 'push origin master'

.gitignore

Бичвэр засварлагч програмууд файл хадгалахдаа файлын_нэр~ гэх мэтчилэн файлын нэрийн ардаа долгионтой шинэ файл үүсгэн хадгалдаг. Эдгээр файлууд агуулахад орох шаардлагагүй, тэгэхээр Гитд бүртгэхгүй байхыг сануулахын тулд ажлын хавтсандаа .gitignore нэртэй файл үүсгээд түүн дотроо бүртгэлгүй алгасах файлын нэрийн хэлбэрийг бичиж өгнө.

*~ #текст засварлагчийн үүсгэсэн түр зуурын файл
*.pyc #пайтон хөрвүүлэг файл

Хэрэглээ

Гитийн хэрэглээний талаар тусгай сэдэв үүсгэсэн.


Холбоос


ГУИ програмууд

Гитийн график интерэйстэй програмууд:

"https://wiki.dusal.net/index.php?title=Git&oldid=465" хуудаснаас авсан