"Git"-ны өөр хувилбарууд

Дусал нэвтэрхий толь-с
 
(Хэрэглэгчид дундын нэг хувилбар харагдахгүй)
1-р мөр: 1-р мөр:
'''Гит''' нь төлбөргүй, нээлттэй эхтэй, хурдтай, бүтээмжтэй ажилладаг |Хувилбар Удирдах Тархмал Систем] юм. Гитийг |Линус Торвалдс] |Линукс цөмийн] хөгжүүлэлтэд зориулан анх 2005 онд бүтээсэн байна.
+
'''Гит''' нь төлбөргүй, нээлттэй эхтэй, хурдтай, бүтээмжтэй ажилладаг [[Хувилбар Удирдах Тархмал Систем]] юм. Гитийг [[Линус Торвалдс]] [[Линукс цөмийн]] хөгжүүлэлтэд зориулан анх 2005 онд бүтээсэн байна.
 +
 
  
<span id="ерөнхий"></span>
 
 
== Ерөнхий ==
 
== Ерөнхий ==
  
<span id="үндсэн-онцлогууд"></span>
+
 
=== <span class="mw-headline"> Үндсэн онцлогууд </span> ===
+
=== Үндсэн онцлогууд ===
  
 
* Хурдтай
 
* Хурдтай
12-р мөр: 12-р мөр:
 
* Даацтай (том хэмжээний төслүүдэд хурдаа алдахгүй)
 
* Даацтай (том хэмжээний төслүүдэд хурдаа алдахгүй)
  
<span id="гит-ашигладаг-томоохон-төслүүд"></span>
 
=== <span class="mw-headline"> Гит ашигладаг томоохон төслүүд </span> ===
 
  
* |Линукс цөм]
+
===  Гит ашигладаг томоохон төслүүд  ===
 +
 
 +
* [[Линукс цөм]]
 
* Ruby on Rails
 
* Ruby on Rails
 
* Перл хэл
 
* Перл хэл
 
* OpenSUSE
 
* OpenSUSE
* |GNOME]
+
* [[GNOME]]
* |jQuery]
+
* [[jQuery]]
 
* SourceForge
 
* SourceForge
 
* Digg
 
* Digg
  
<span id="хадгалалт"></span>
+
 
 
=== Хадгалалт ===
 
=== Хадгалалт ===
  
35-р мөр: 35-р мөр:
 
[[File:18333fig0105-tn.png|18333fig0105-tn.png]]
 
[[File:18333fig0105-tn.png|18333fig0105-tn.png]]
  
<span id="суурин-ажиллагаа"></span>
+
 
=== <span class="mw-headline"> Суурин ажиллагаа </span> ===
+
=== Суурин ажиллагаа ===
  
 
Гит агуулахтай ажиллах үед алсын сервертэй холбогдох шаардлага ерөнхийдөө байхгүй тул хүлээлт огт байхгүй гэж хэлж болно.
 
Гит агуулахтай ажиллах үед алсын сервертэй холбогдох шаардлага ерөнхийдөө байхгүй тул хүлээлт огт байхгүй гэж хэлж болно.
  
<span id="нэгдмэл-байдал"></span>
+
 
 
=== Нэгдмэл байдал ===
 
=== Нэгдмэл байдал ===
  
47-р мөр: 47-р мөр:
 
Гит файлыг нэрээр нь болон агуулгынх нь SHA-1 хэшээр хадгалж, сандаа хэш хаягийг нь хадгалж явдаг.
 
Гит файлыг нэрээр нь болон агуулгынх нь SHA-1 хэшээр хадгалж, сандаа хэш хаягийг нь хадгалж явдаг.
  
<span id="ажлын-гурван-талбар"></span>
+
 
=== <span class="mw-headline"> Ажлын гурван талбар </span> ===
+
=== Ажлын гурван талбар ===
  
 
Гиттэй ажиллахад зайлшгүй ойлгох нэгэн ойлголт бол ажлын 3 талбар юм.
 
Гиттэй ажиллахад зайлшгүй ойлгох нэгэн ойлголт бол ажлын 3 талбар юм.
64-р мөр: 64-р мөр:
 
[[File:18333fig0106-tn.png|18333fig0106-tn.png]]
 
[[File:18333fig0106-tn.png|18333fig0106-tn.png]]
  
<span id="суулгах"></span>
+
 
 
== Суулгах ==
 
== Суулгах ==
  
<span id="эх-кодоос-суулгах"></span>
+
 
=== <span class="mw-headline">Эх кодоос суулгах</span> ===
+
=== Эх кодоос суулгах ===
  
 
Хувилбар шинэчлэгдэх тусам шинэ шинэ сайжруулалт нэмэгдэх тул эх кодоос хамгийн сүүлийн хувилбарыг суулгах нь зүйтэй.
 
Хувилбар шинэчлэгдэх тусам шинэ шинэ сайжруулалт нэмэгдэх тул эх кодоос хамгийн сүүлийн хувилбарыг суулгах нь зүйтэй.
89-р мөр: 89-р мөр:
  
 
<pre>$ git clone git://git.kernel.org/pub/scm/git/git.git</pre>
 
<pre>$ git clone git://git.kernel.org/pub/scm/git/git.git</pre>
<span id="линукс-дээр-суулгах"></span>
+
 
=== <span class="mw-headline">Линукс дээр суулгах</span> ===
+
=== Линукс дээр суулгах ===
  
 
Линукс дээр Гитийг хоёртын суулгагч (binary installer) ашиглан суулгах бол тухайн тархац дээрх багц удирдагч хэрэгслийг ашиглана.
 
Линукс дээр Гитийг хоёртын суулгагч (binary installer) ашиглан суулгах бол тухайн тархац дээрх багц удирдагч хэрэгслийг ашиглана.
  
Хэрвээ |Федора] дээр бол yum ашиглаж болно:
+
Хэрвээ [[Федора]] дээр бол yum ашиглаж болно:
  
 
<pre>$ yum install git-core</pre>
 
<pre>$ yum install git-core</pre>
|Үбүнтү] гэх мэт Дебиан суурьт тархац дээр бол apt-get ашиглаж болно:
+
[[Үбүнтү]] гэх мэт Дебиан суурьт тархац дээр бол apt-get ашиглаж болно:
  
 
<pre>$ sudo apt-get install git-core</pre>
 
<pre>$ sudo apt-get install git-core</pre>
<span id="макинтош-дээр-суулгах"></span>
+
 
=== <span class="mw-headline">Макинтош дээр суулгах</span> ===
+
=== Макинтош дээр суулгах ===
  
 
Гитийг Мак дээр хоёр арга суулгана. Хамгийн амархан нь Гитийн график суулгагч - Google Code хуудаснаас нь татаж авч болно:
 
Гитийг Мак дээр хоёр арга суулгана. Хамгийн амархан нь Гитийн график суулгагч - Google Code хуудаснаас нь татаж авч болно:
113-р мөр: 113-р мөр:
 
Бүх нэмэгдлийг авах шаардлагагүй ч Гитийг SVN агуулахтай хамтран ашиглахад +svn хэрэг болно.
 
Бүх нэмэгдлийг авах шаардлагагүй ч Гитийг SVN агуулахтай хамтран ашиглахад +svn хэрэг болно.
  
<span id="виндовс-дээр-суулгах"></span>
+
 
=== <span class="mw-headline">Виндовс дээр суулгах</span> ===
+
=== Виндовс дээр суулгах ===
  
 
Гитийг Виндовс дээр суулгах маш амархан. msysGit бол суулгахад эвтэйхэн програмуудын нэг юм. Суулгагч exe файлыг Google Code хуудаснаас татаж аваад ажиллуулахад хангалттай:
 
Гитийг Виндовс дээр суулгах маш амархан. msysGit бол суулгахад эвтэйхэн програмуудын нэг юм. Суулгагч exe файлыг Google Code хуудаснаас татаж аваад ажиллуулахад хангалттай:
121-р мөр: 121-р мөр:
 
Дээрхийг суулгаснаар тушаалын мөрийн (command-line) хувилбар (SSH клиенттэй) болон жишиг график горимтой хувилбар (GUI) хэрэглэхэд бэлэн болно.
 
Дээрхийг суулгаснаар тушаалын мөрийн (command-line) хувилбар (SSH клиенттэй) болон жишиг график горимтой хувилбар (GUI) хэрэглэхэд бэлэн болно.
  
<span id="тохируулах"></span>
+
 
 
== Тохируулах ==
 
== Тохируулах ==
  
<span id="нэр-усаа-тохируулах"></span>
+
 
=== <span class="mw-headline"> Нэр усаа тохируулах </span> ===
+
=== Нэр усаа тохируулах ===
  
 
Агуулахад өөрчлөлтөө хадгалахад бүртгэгдэх нэр, э-шуудангийн хаягийг тохируулах:
 
Агуулахад өөрчлөлтөө хадгалахад бүртгэгдэх нэр, э-шуудангийн хаягийг тохируулах:
131-р мөр: 131-р мөр:
 
<pre>$ git config --global user.name &quot;blackrock&quot;
 
<pre>$ git config --global user.name &quot;blackrock&quot;
 
$ git config --global user.email blackrock@blah.blah</pre>
 
$ git config --global user.email blackrock@blah.blah</pre>
<span id="засварлагчаа-тохируулах"></span>
+
 
=== <span class="mw-headline"> Засварлагчаа тохируулах </span> ===
+
=== Засварлагчаа тохируулах ===
  
 
<pre>$ git config --global core.editor &quot;vi&quot;</pre>
 
<pre>$ git config --global core.editor &quot;vi&quot;</pre>
<span id="өнгө-ялгагчийг-тохируулах"></span>
+
 
=== <span class="mw-headline"> Өнгө ялгагчийг тохируулах </span> ===
+
=== Өнгө ялгагчийг тохируулах ===
  
 
<pre>$ git config --global color.status auto</pre>
 
<pre>$ git config --global color.status auto</pre>
<span id="тушаал-товчлох-өөрөөр-нэрлэх"></span>
+
 
=== <span class="mw-headline"> Тушаал товчлох, өөрөөр нэрлэх </span> ===
+
=== Тушаал товчлох, өөрөөр нэрлэх ===
  
 
Гитийн зарим түгээмэл хэрэглэгддэг тушаалуудыг товчлоё:
 
Гитийн зарим түгээмэл хэрэглэгддэг тушаалуудыг товчлоё:
151-р мөр: 151-р мөр:
  
 
<pre>$ git config --global alias.pom 'push origin master'</pre>
 
<pre>$ git config --global alias.pom 'push origin master'</pre>
<span id="gitignore"></span>
+
 
 
== .gitignore ==
 
== .gitignore ==
  
158-р мөр: 158-р мөр:
 
<pre>*~ #текст засварлагчийн үүсгэсэн түр зуурын файл
 
<pre>*~ #текст засварлагчийн үүсгэсэн түр зуурын файл
 
*.pyc #пайтон хөрвүүлэг файл</pre>
 
*.pyc #пайтон хөрвүүлэг файл</pre>
<span id="хэрэглээ"></span>
+
 
 
== Хэрэглээ ==
 
== Хэрэглээ ==
  
|Гитийн хэрэглээний талаар] тусгай сэдэв үүсгэсэн.
+
[[Гитийн хэрэглээний талаар]] тусгай сэдэв үүсгэсэн.
 +
 
  
<span id="холбоос"></span>
 
 
== Холбоос ==
 
== Холбоос ==
  
177-р мөр: 177-р мөр:
 
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/ Git magic]
 
* [http://www-cs-students.stanford.edu/~blynn/gitmagic/ Git magic]
  
<span id="гуи-програмууд"></span>
+
 
 
== ГУИ програмууд ==
 
== ГУИ програмууд ==
  

19:40, 9 Хоёрдугаар сар 2022-ий байдлаарх одоогийн засвар

Гит нь төлбөргүй, нээлттэй эхтэй, хурдтай, бүтээмжтэй ажилладаг Хувилбар Удирдах Тархмал Систем юм. Гитийг Линус Торвалдс Линукс цөмийн хөгжүүлэлтэд зориулан анх 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" хуудаснаас авсан