From f90faf4645a932d093c3de9a22f202f4caf4315b Mon Sep 17 00:00:00 2001
From: Nyamsuren Ganbold git - the simple guide
@@ -186,7 +187,7 @@ log
git log --graph --oneline --decorate --all
See only which files have changed:
git log --name-status
- These are just a few of the possible parameters you can use. For more, see
+ These are just a few of the possible parameters you can use. For more, see
git log --help
Гитийг хялбараар ойлгоход зориулсан хялбаршуулсан зааварчилгаа. Хэцүү зүйл байхгүй ;)
+ Жиргэх + + +
+
+
+
+ шинэ хавтас үүсгээд, түүнрүүгээ ороод дараах командуудыг ажиллуулаарай.
+ git init
+ шинэ агуулах үүсгэнэ
+
+ локал компьютер дээрх агуулахаас таталт хийе гэвэл гэвэл
+ git clone /локал/агуулахын/зам командыг ашиглана.
+ Харин дэлхийн өөр хаа нэгтээ байрлах сэрвэр дээрх агуулахаас таталт хийх бол дараах командыг ашиглана
+ git clone хэрэглэгчийн-нэр@хост:/агуулахын/зам
+
таны үүсгэсэн агуулах Гит-н удирддаг гурван "модноос" бүрдэнэ.
+ Эхнийх нь эх кодуудыг хадгалдаг Working Directory буюу ажлын хавтас
+ хоёр дахь нь Index буюу бэлтгэлийн талбар (staging area), харин
+ сүүлийнх нь хамгийн сүүлд хийгдсэн өөрчлөлтийг зааж байдаг HEAD.
+
+
+ Өөрчлөлтүүдээ багцалж хадгалахад бэлтгэх (Index-т нэмнэ)
+ git add <filename>
+ git add *
+ Энэ бол гитийн ерөнхий ажиллагааны горим юм. Эдгээр өөрчлөлтөө хадгалж баталгаажуулахын тулд дараах командыг ашиглана.
+ git commit -m "Commit message"
+ Одоо өөрчлөгдсөн файл маань локал агуулахын HEAD-д хадгалагдсан ч, сэрвэр дахь агуулахад тань арай л хадгалагдаагүй байгаа гэсэн үг.
+
+ Одоогоор таны хийсэн өөрчлөлтүүд локал ажлын хавтасны HEAD-д хадгалагдсан байгаа. Эдгээрийг сэрвэр дээрх агуулахад нэмж түлхэн оруулахын тулд дараах командыг ажиллуул
+ git push origin master
+ Дээрх master гэдгийг өөрийн түлхэн оруулах гэж байгаа аль ч мөчир(branch)-н нэрээр солих боломжтой.
+
+ Та өөрийн үүсгэсэн локал агуулахдаа сэрвэрийн (remote) агуулах нэмэхийн тулд, дараах командыг
+ git remote add origin <server>
+ Үүний дараа та өөрийн хийсэн өөрчлөлтийг сэрвэрийн агуулахруу түлхэн оруулах боломжтой болно.
+
+ Мөчирүүдийг ашиглан бусдаасаа тусгаарлагдсан шийдлүүдийг хөгжүүлдэг. master хэмээх мөчир бол Гитийн "default" мөчир болж үүсдэг. Бусад мөчирүүдэд тусгайлсан хөгжүүлэлтүүдээ хийж дуусгаад Мастер мөчиртөө нэгтгэдэг. +
+
+
+ "feature_x" нэртэй шинэ мөчир үүсгээд түүнрүүгээ шилжихийн тулд
+ git checkout -b feature_x
+ буцаад мастерлуу очихдоо
+ git checkout master
+ харин мөчирийг устгахдаа дараах командыг ашиглана
+ git branch -d feature_x
+ Сэрвэр дэх агуулахруу өөрийн локал мөчирийг түлхээгүй л бол таны мөчир бусад хүмүүст харагдахгүй
+ git push origin <branch>
+
+ локал агуулахаа сэрвэр дээрх хамгийн сүүлийн өөрчлөлтөөр шинэчлэхийн тулд
+ git pull
+ командыг ажиллуулж ажлын хавтастаа шинээр нэмэгдсэн өөрчлөлтүүдийг fetch (таталт) хийж нэгтгэнэ (merge).
+ ямар нэг өөр мөчирийг одоогийн идэвхтэй мөчиртэй (ж.нь. master) нэгтгэхийн тулд дараах командыг ашиглана
+ git merge <branch>
+ Энэ хоёр тохиолдолд гит автоматаар өөрчлөлтүүдийг нэгтгэх үйлдлийг хийхийг оролддог. Гэвч, тэр болгон асуудалгүй нэгтгэгдээд байдаггүй бөгөөд өөрчлөлтүүд нь зөрчилдөх тохиолдол ихээр гардаг.
+ Хэрвээ зөрчилдөөн (conflicts) гарвал та өөрийн биечлэн тухайн файлыг гит-н зааж өгсөнчлөн засаж зохицуулах шаардлагатай болно. Засвар хийсний дараа, үүнийгээ нэгтгэсэн болохыг тэмдэглэнэ
+ git add <filename>
+ эцсийн байдлаар нэгтгэл хийхийн өмнө юу юу өөрчлөгдсөнийг дараах командыг ашиглан хянаж болно
+ git diff <source_branch> <target_branch>
+
+ Програмын хувилбар гаргах бүртээ tag үүсгэж байх нь зүйтэй. Өргөнөөр хэрэглэгдсээр ирсэн заншил. SVN-д ч мөн хэрэглэгддэг. Та 1.0.0 хэмээх tag-г дараах командаар үүсгэнэ
+ git tag 1.0.0 1b2e1d63ff
+ энд байгаа 1b2e1d63ff гэх үсэг тооны цуглуулга нь таны tag-лах гэж байгаа коммит (багц хадгалалт)-н дугаарын эхний 10 тэмдэгт. Коммитийн дугаарыг лог бүртгэлээс харах боломжтой...
+
+ in its simplest form, you can study repository history using..
+ git log
+ You can add a lot of parameters to make the log look like what you want. To see only the commits of a certain author:
+ git log --author=bob
+ To see a very compressed log where each commit is one line:
+ git log --pretty=oneline
+ Or maybe you want to see an ASCII art tree of all the branches, decorated with the names of tags and branches:
+ git log --graph --oneline --decorate --all
+ See only which files have changed:
+ git log --name-status
+ These are just a few of the possible parameters you can use. For more, see
+ git log --help
+
+ In case you did something wrong (which for sure never happens ;) you can replace local changes using the command
+ git checkout -- <filename>
+ this replaces the changes in your working tree with the last content in HEAD. Changes already added to the index, as well as new files, will be kept.
+
+ If you instead want to drop all your local changes and commits, fetch the latest history from the server and point your local master branch at it like this
+ git fetch origin
+ git reset --hard origin/master
+
+ built-in git GUI
+ gitk
+ use colorful git output
+ git config color.ui true
+ show log on just one line per commit
+ git config format.pretty oneline
+ use interactive adding
+ git add -i
+
+
+
+ ++
+ +Гитийг хялбараар ойлгоход зориулсан хялбаршуулсан зааварчилгаа. Хэцүү зүйл байхгүй ;)
+Гитийг амархнаар ойлгоход зориулсан хялбаршуулсан зааварчилгаа. Хэцүү зүйл үгүй ;)
Жиргэх
- in its simplest form, you can study repository history using..
+ хамгийн энгийн бүртгэлийг дараах командаар үзнэ..
git log
- You can add a lot of parameters to make the log look like what you want. To see only the commits of a certain author:
+ Үүн дээр янз бүрийн нэмэлт параметр өгснөөр илүү дэлгэрэнгүй эсвэл өөрийн хүссэн хэлбэрээр харах боломжтой. Зөвхөн заасан хөгжүүлэгчийн хийсэн коммитуудыг харахдаа:
git log --author=bob
- To see a very compressed log where each commit is one line:
+ Товч лог буюу нэг мөрөнд багтаасан бүргэлийг үзэх бол:
git log --pretty=oneline
- Or maybe you want to see an ASCII art tree of all the branches, decorated with the names of tags and branches:
+ Эсвэл бүх мөчирүүдийн түүхийг мөчир, tag-уудын нэртэйгээр нь ASCII зургаар харахыг хүсвэл:
git log --graph --oneline --decorate --all
- See only which files have changed:
+ Зөвхөн өөрчлөлт орсон файлуудыг харах бол:
git log --name-status
- These are just a few of the possible parameters you can use. For more, see
+ Зөвхөн хэдхэн жишээг харуулахад л ийм байна. Өөр олон хэлбэрээр лог бүртгэлийг харах боломжтой. Илүү дэлгэрэнгүйг дараах командыг ашиглан сонирхоорой
git log --help
- In case you did something wrong (which for sure never happens ;) you can replace local changes using the command
+ Хэрэв та ямар нэг байдлаар алдаа гаргаж (алдах тохиолдол гардаггүй л байлгүй ;) түүнийгээ буцаахыг хүсвэл хийсэн локал өөрчлөлтүүдээ дараах командаас буцааж болно
git checkout -- <filename>
- this replaces the changes in your working tree with the last content in HEAD. Changes already added to the index, as well as new files, will be kept.
+ энэ команд хамгийн сүүлд HEAD-н зааж буй коммит-д хадгалагдсан файлын агуулгаар таны ажлын хавтсан дахь локал файлыг солих болно. Индекст аль хэдийн нэмэгдсэн өөрчлөлтүүд, шинэ файлууд хэвээр үлдэнэ.
- If you instead want to drop all your local changes and commits, fetch the latest history from the server and point your local master branch at it like this
+ Харин хийсэн бүх өөрчлөлт, коммитуудаа хаяаад сэрвэрээс дахин таталт хийж өөрийн локалын мастер мөчирөө сэрвэртэй тэнцүүлэх бол ингэнэ
git fetch origin
git reset --hard origin/master
- built-in git GUI
+ гит-н өөрийнх нь GUI
gitk
- use colorful git output
+ өнгөөр ялгасан гит командын гүйцэтгэл харах
git config color.ui true
- show log on just one line per commit
+ коммит болгоны лог бүртгэлийг үргэлж нэг мөрөөр харуулах
git config format.pretty oneline
- use interactive adding
+ өөрчлөгдсөн файлуудыг интерактив байдлаар нэмэх
git add -i
comments
+ + + +