2-bo‘lim
Git ni o'rnatish va sozlash
Windows, macOS va Linux da Git ni o'rnatish, ism va emailni sozlash hamda birinchi buyruqlar bilan tanishish.
Ushbu bo‘lim mundarijasi
- Windows ga o'rnatish
- macOS ga o'rnatish
- Linux ga o'rnatish
- Tekshirish
- Birinchi sozlash - ism va email
- Sozlamalar darajalari
- Barcha sozlamalarni ko'rish
- Muharrirni sozlash
- Asosiy tarmoq nomi
- Satr oxiri masalasi
- Ranglar va foydali sozlamalar
- Qisqartmalar (alias)
- Sozlama faylini to'g'ridan-to'g'ri tahrirlash
- Yordam olish
- Xulosa
Git ni ishlatishdan oldin uni o'rnatish va bir marta sozlash kerak.
Windows ga o'rnatish #
- git-scm.com/download/win saytiga kiring
- O'rnatuvchi avtomatik yuklanadi
- Faylni ishga tushiring
O'rnatish jarayonida bir necha savol beriladi. Muhimlari:
| Savol | Tavsiya etilgan javob |
|---|---|
| Default editor | Notepad++ yoki Sublime Text |
| Initial branch name | main (Override qilib tanlang) |
| PATH environment | "Git from the command line and also from 3rd-party software" |
| Line ending conversions | "Checkout Windows-style, commit Unix-style" |
| Terminal emulator | "Use Windows' default console window" |
Windows uchun Git bilan birga Git Bash terminali ham o'rnatiladi.
U Linux buyruqlarini (ls, cat, grep, pwd) Windows da ishlatish
imkonini beradi.
Bu darslikdagi barcha misollar Git Bash da ishlaydi.
macOS ga o'rnatish #
# Homebrew orqali
brew install git
# Yoki Xcode vositalari bilan
xcode-select --install
Linux ga o'rnatish #
# Ubuntu, Debian
sudo apt update
sudo apt install git
# Fedora
sudo dnf install git
# Arch
sudo pacman -S git
Tekshirish #
git --version
git version 2.45.2
Agar versiya ko'rinsa - o'rnatish muvaffaqiyatli.
Windows da bu xato Git PATH ga qo'shilmaganini bildiradi.
Yechim: Git ni qayta o'rnating va "PATH environment" bosqichida o'rtadagi variantni tanlang. Yoki Git Bash terminalidan foydalaning - u yerda hamma vaqt ishlaydi.
Birinchi sozlash - ism va email #
Git har bir kommitga muallif ma'lumotini yozadi. Buni bir marta sozlaymiz:
git config --global user.name "Husanboy Qodirov"
git config --global user.email "[email protected]"
# Tekshirish
git config --global user.name
git config --global user.email
Husanboy Qodirov
[email protected]
Kommitdagi email hamma uchun ochiq bo'ladi. Ochiq loyihalarda shaxsiy emailingizni ishlatmaslik uchun GitHub bergan maxfiy manzilni qo'ying:
git config --global user.email "[email protected]"
Bu manzilni GitHub sozlamalarining "Emails" bo'limida topasiz.
Sozlamalar darajalari #
Git sozlamalari uch darajada saqlanadi:
# Ish loyihasida korporativ email
cd ~/ish/loyiha
git config user.email "[email protected]"
# Bu faqat shu papkada amal qiladi
Barcha sozlamalarni ko'rish #
# Hammasi
git config --list
# Qaysi fayldan kelganini ham ko'rsatish
git config --list --show-origin
# Bitta sozlamani
git config user.name
user.name=Husanboy Qodirov
[email protected]
core.editor=notepad++ -multiInst -notabbar -nosession -noPlugin
init.defaultbranch=main
color.ui=auto
Muharrirni sozlash #
Git ba'zan matn muharririni ochadi (kommit xabari, merge izohi uchun). Standart holatda bu Vim bo'lishi mumkin - undan chiqish boshlovchilar uchun qiyin.
# Notepad++
git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
# Sublime Text
git config --global core.editor "'C:/Program Files/Sublime Text/sublime_text.exe' -w"
# VS Code
git config --global core.editor "code --wait"
# Nano (Linux, macOS - eng soddasi)
git config --global core.editor "nano"
Agar tasodifan Vim ochilib qolsa:
Esctugmasini bosing:wqyozing vaEnterbosing - saqlab chiqadi- Yoki
:q!- saqlamasdan chiqadi
Asosiy tarmoq nomi #
Ilgari standart tarmoq nomi master edi, hozir main ishlatiladi:
git config --global init.defaultBranch main
Satr oxiri masalasi #
Windows da satr oxiri CRLF (\r\n), Linux va macOS da LF (\n).
Bu farq tufayli fayl butunlay o'zgargandek ko'rinishi mumkin.
# Windows uchun
git config --global core.autocrlf true
# macOS, Linux uchun
git config --global core.autocrlf input
| Sozlama | Nima qiladi |
|---|---|
true | Kommitda LF ga, chiqarishda CRLF ga aylantiradi |
input | Kommitda LF ga aylantiradi, chiqarishda tegmaydi |
false | Hech nima qilmaydi |
Agar git diff da hech nima o'zgartirmagan fayl butunlay qizil-yashil
bo'lib chiqsa - bu deyarli har doim satr oxiri muammosi.
Jamoada ishlayotgan bo'lsangiz, loyiha ildiziga .gitattributes fayl
qo'ying:
* text=auto
*.sh text eol=lf
*.bat text eol=crlf
Bu sozlamani butun jamoa uchun bir xil qiladi.
Ranglar va foydali sozlamalar #
# Rangli chiqish
git config --global color.ui auto
# Bekor qilingan fayllarni chiroyli ko'rsatish
git config --global core.pager "less -FRX"
# Push qilishda faqat joriy tarmoq yuborilsin
git config --global push.default simple
# Pull qilishda rebase ishlatilsin (keyingi bo'limlarda tushuntiriladi)
git config --global pull.rebase false
Qisqartmalar (alias) #
Uzun buyruqlarni qisqartirish mumkin:
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.cm "commit -m"
git config --global alias.last "log -1 HEAD"
git config --global alias.tarix "log --oneline --graph --decorate --all"
Endi shunday yozish mumkin:
git st # git status
git cm "xabar" # git commit -m "xabar"
git tarix # chiroyli grafik tarix
Qisqartma nomini istalgancha qo'yishingiz mumkin:
git config --global alias.holat status
git config --global alias.saqla "commit -m"
Lekin jamoada ishlaganda standart nomlarni bilish shart - hujjatlar va maqolalarda ular ishlatiladi.
Sozlama faylini to'g'ridan-to'g'ri tahrirlash #
git config --global --edit
Fayl shunday ko'rinadi:
[user]
name = Husanboy Qodirov
email = [email protected]
[core]
editor = nano
autocrlf = true
[init]
defaultBranch = main
[alias]
st = status
tarix = log --oneline --graph --decorate --all
[color]
ui = auto
~/.gitconfig faylini nusxalab qo'ying. Yangi kompyuterda ishlashni
boshlaganingizda uni ko'chirib qo'ysangiz - hamma sozlamalar joyida bo'ladi.
Ko'p dasturchilar bu faylni alohida "dotfiles" repozitoriysida saqlaydi.
Yordam olish #
# To'liq qo'llanma
git help commit
git commit --help
# Qisqa yordam
git commit -h
# Barcha buyruqlar ro'yxati
git help -a
usage: git commit [-a | --interactive | --patch] [-s] [-v]
[-u<mode>] [--amend] [--dry-run] [-c <commit> | -C <commit>]
[-F <file> | -m <msg>] [--reset-author] [--allow-empty]
...
-m, --message <message>
commit message
-a, --all commit all changed files
--amend amend previous commit
- Git ni o'rnating va
git --versionbilan tekshiring. - Ism va emailingizni
--globaldarajada sozlang. init.defaultBranchnimainqilib qo'ying.- O'zingizga qulay muharrirni sozlang.
- Windows da bo'lsangiz
core.autocrlfnitrueqiling. - Kamida uchta qisqartma yarating.
git config --list --show-originni ishga tushiring va sozlamalar qaysi fayllarda saqlanganini ko'ring.git help logbuyrug'ini ishga tushiring va hujjatni ko'zdan kechiring.
Xulosa #
- Git barcha operatsion tizimlar uchun bepul va rasmiy saytdan olinadi.
user.namevauser.email- birinchi va majburiy sozlamalar.- Sozlamalar uch darajada:
--system,--global,--local. - Quyi daraja yuqori darajani bekor qiladi.
- Windows da
core.autocrlf truesatr oxiri muammosini hal qiladi. aliasbilan uzun buyruqlarni qisqartirish mumkin.git help <buyruq>- istalgan buyruq haqida to'liq ma'lumot.
Keyingi bo'limda birinchi repozitoriyni yaratamiz va birinchi kommitni qilamiz.
O‘qish tarixini saqlamoqchimisiz?
Tizimga kirsangiz, tugatgan bo‘limlaringiz saqlanadi va qoldirgan joyingizdan davom etasiz.
Xatolik topdingizmi?
Imlo xatosi, ishlamaydigan kod yoki noto‘g‘ri ma‘lumotni ko‘rsangiz - bizga xabar bering. Har bir xabar administrator tomonidan ko‘rib chiqiladi.