Git
Гит нь төлбөргүй, нээлттэй эхтэй, хурдтай, бүтээмжтэй ажилладаг Хувилбар Удирдах Тархмал Систем юм. Гитийг Линус Торвалдс Линукс цөмийн хөгжүүлэлтэд зориулан анх 2005 онд бүтээсэн байна.
Ерөнхий
Үндсэн онцлогууд
- Хурдтай
- Энгийн загвартай
- Тархмал/Шугаман бус хөгжүүлэлтэд тохиромжтой
- Даацтай (том хэмжээний төслүүдэд хурдаа алдахгүй)
Гит ашигладаг томоохон төслүүд
- Линукс цөм
- Ruby on Rails
- Перл хэл
- OpenSUSE
- GNOME
- jQuery
- SourceForge
- Digg
Хадгалалт
Гит болон бусад ХУС (Subversion г.м.) нь хоорондоо ялгаатай бөгөөд Гит өгөгдлийг хадгалах аргаараа ялгардаг. Бусад системүүд файл бүрт орсон өөрчлөлтүүдийг л (diff) хадгалдаг. Бусад ХУС дээр өөрчлөлтийг хэрхэн хадгалдагийг харъя:
[[File:18333fig0104-tn.png18333fig0104-tn.png]
Харин Гит өгөгдлийг бүхэлд нь нэгэн бяцхан файлсистемийн агшины цуглуулга гэж үздэг. Гит агуулахдаа файлын өөрчлөлтийг хадгалах бүрт файл бүрийн тухайн агшин дахь зураглалыг хадгалан авдаг байна. Хэрвээ аливаа файл өөрчлөгдөөгүй байвал файлыг дахин хадгалалгүй өмнөх хувилбарын холбоосыг хадгалчихдаг. Гитийн хадгалах арга:
[[File:18333fig0105-tn.png18333fig0105-tn.png]
Суурин ажиллагаа
Гит агуулахтай ажиллах үед алсын сервертэй холбогдох шаардлага ерөнхийдөө байхгүй тул хүлээлт огт байхгүй гэж хэлж болно.
Нэгдмэл байдал
Гит дээр аливаа зүйлийг хадгалахаас өмнө хэшлэж, цаашид хэш дугаараар нь хаяглаж, жишиж явдаг. Ингэснээр Гитээс гадуур ямар ч файлыг өөрчлөх боломжгүй болж байгаа юм. Энэ үйл ажиллагаа Гитийн хамгийн доод түвшинд суусан байдаг бөгөөд ажиллах зарчмын нэг хэсэг нь юм. Хэрвээ ямар нэг файл дамжуулах явцад эвдэрсэн эсвэл алдагдсан тохиолдолд Гит мэдэгдэх болно.
Гит файлыг нэрээр нь болон агуулгынх нь SHA-1 хэшээр хадгалж, сандаа хэш хаягийг нь хадгалж явдаг.
Ажлын гурван талбар
Гиттэй ажиллахад зайлшгүй ойлгох нэгэн ойлголт бол ажлын 3 талбар юм.
- Ажлын хавтас
- Завсрын орчин
- Агуулах
Аливаа файл амьдралын мөчлөгт энэ гурван талбарыг дайрч өнгөрдөг. Ажлын жирийн явц(урсгал) дараах байдалтай харагдана:
- Агуулахаас ажлын хавтас руу файлаа татна.
- Ажлын хавтсан дахь файлд өөрчлөлт хийсний дараа завсрын орчин руу шилжүүлнэ.
- Өөрчлөлтөө хадгалахын тулд завсрын орчин дахь файлыг агуулахад хийнэ. Өөрөөр хэлбэл ажлын хавтаснаас шууд агуулах руу орохгүй гэсэн үг.
[[File:18333fig0106-tn.png18333fig0106-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
[[File:18333fig0107-tn.png18333fig0107-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 #пайтон хөрвүүлэг файл
Хэрэглээ
Гитийн хэрэглээний талаар тусгай сэдэв үүсгэсэн.
Холбоос
- Гитийн албан ёсны вэбхуудас
- Git Community Book
- Google Tech Talk - Линус Торвалдс Гитийн тухай ярьсан нь
- Pro Git - Гитийн тухай нээлттэй эхтэй ном
- GitCasts - Гитийн видео хичээлүүд
- Гитийг SVN-тэй цуг хэрэглэх
- www.kernel.org - дахь Гит хэрэглэгчийн гарын авлага
- Гит лавлах
- http://gitimmersion.com/
- Git magic
ГУИ програмууд
Гитийн график интерэйстэй програмууд:
- gitk
- gitg
- git-cola