Git
Chapters ▾ 2nd Edition

2.7 Git асослари - Git да таҳаллуслар

Git да таҳаллуслар

Ушбу Git асослари бўлимини тугатишдан олдин Git ни ишлатишни енгиллаштирувчи, онсонлаштирувчи ва янада одатий ҳолатга айланган яна битта айёрона йўлни кўриб ўтамиз: таҳаллуслар(aliases). Биз уларга кейинчалик мурожаат этмаймиз ёки сизни китобни ўқиш давомида улардан фойдаланади деб қарамаймиз, бироқ сизни уларни қандай ишлатишни билиб қўйишингиз яхши деб ўйладик.

Git сизни тўлиқ ёзмаган матнингиздан қандай команда ёзмоқчи бўлганлигингизни аниқлашга ҳаракат қилмайди. Агар сиз ҳар бир командаларни тўлиқ ёзишни истамасангиз сиз енгиллик билан ихтиёрий командалар учун git config ёрдамида таҳаллусларни (alias) созлашингиз мумкин. Мана таҳаллусларга бир қанча мисоллар, эҳтимол сиз уларни ишлатишни хоҳлаб қоларсиз:

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

Бу шуни англатадики, масалан, сиз git commit ўрнига git ci ни ёзишингиз мумкин бўлади. Git ни ўзлаштириш давомида эҳтимол тез-тез бошқа командаларни ишлатишга тўғри келар. Бундай ҳолатларда ҳеч иккиланмасдан таҳаллусларни яратинг.

Бундай услуб сиз бўлиши керак деб ҳисоблаган командаларни яратиш учун ҳам қўл келиши мумкин. Масалан, индексдан файлни олишда дуч келган ноқулайликни тўғрилаш учун Git га ўз unstage таҳаллусимизни қўшишимиз мумкин:

$ git config --global alias.unstage 'reset HEAD --'

Ушбу юқоридаги таҳаллус яратиш командаси бажарилгач қуйидаги иккита команда эквивалент бўлиб қолади:

$ git unstage fileA
$ git reset HEAD fileA

Бундай вариант тушунарлироқ кўринади. Шунингдек, одатда, last командасини қуйидаги тарзда қўшишади:

$ git config --global alias.last 'log -1 HEAD'

Ушбу йўл орқали енгиллик билан охирги коммитни кўриш мумкин бўлади:

$ git last
commit 66938dae3329c7aebe598c2246a8e6af90d04646
Author: Josh Goebel <dreamer3@example.com>
Date:   Tue Aug 26 19:48:51 2008 +0800

    test for current head

    Signed-off-by: Scott Chacon <schacon@example.com>

Айтиш мумкинки Git сиз яратган таҳаллусларни командаларни ўрнига ёзади. Бироқ, эҳтимол сиз Git нинг эмас балки ташқи командаларни бажаришни хоҳларсиз. Бундай ҳолатда командаларни ! белгиси билан бошлаш талаб этилади. Бу сиз Git омборлари билан ишлаш учун дастгоҳ яратаётган бўлсангиз ас қотади. Ушбу ҳолатга мисолни gitk ни ишга тушириш учун git visual таҳаллусини яратиш мисолида қараб ўтамиз.:

$ git config --global alias.visual "!gitk"