-
1. Başlanğıc
- 1.1 Versiyaya Nəzarət Haqqında
- 1.2 Git’in Qısa Hekayəsi
- 1.3 Git Nədir?
- 1.4 Əmr Sətiri
- 1.5 Git’i Quraşdırmaq
- 1.6 İlk Dəfə Git Quraşdırması
- 1.7 Kömək Almaq
- 1.8 Qısa Məzmun
-
2. Git’in Əsasları
-
3. Git’də Branch
- 3.1 Nutshell’də Branch’lar
- 3.2 Sadə Branching və Birləşdirmə
- 3.3 Branch İdarəedilməsi
- 3.4 Branching İş Axınları
- 3.5 Uzaq Branch’lar
- 3.6 Rebasing
- 3.7 Qısa Məzmun
-
4. Server’də Git
- 4.1 Protokollar
- 4.2 Serverdə Git Əldə Etmək
- 4.3 Sizin öz SSH Public Key’nizi yaratmaq
- 4.4 Server qurmaq
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Üçüncü Tərəf Seçimləri
- 4.10 Qısa Məzmun
-
5. Paylanmış Git
-
6. GitHub
-
7. Git Alətləri
- 7.1 Reviziya Seçimi
- 7.2 Interaktiv Səhnələşdirmə
- 7.3 Stashing və Təmizləmə
- 7.4 İşinizin İmzalanması
- 7.5 Axtarış
- 7.6 Tarixi Yenidən Yazmaq
- 7.7 Reset Demystified
- 7.8 İnkişaf etmiş Birləşmə
- 7.9 Rerere
- 7.10 Git ilə Debugging
- 7.11 Alt Modullar
- 7.12 Bundling
- 7.13 Dəyişdirmək
- 7.14 Etibarlı Yaddaş
- 7.15 Qısa Məzmun
-
8. Git’i Fərdiləşdirmək
- 8.1 Git Konfiqurasiyası
- 8.2 Git Atributları
- 8.3 Git Hook’ları
- 8.4 Git-Enforced Siyasət Nümunəsi
- 8.5 Qısa Məzmun
-
9. Git və Digər Sistemlər
- 9.1 Git Müştəri kimi
- 9.2 Git’ə Miqrasiya
- 9.3 Qısa Məzmun
-
10. Git’in Daxili İşləri
- 10.1 Plumbing və Porcelain
- 10.2 Git Obyektləri
- 10.3 Git Referansları
- 10.4 Packfile’lar
- 10.5 Refspec
- 10.6 Transfer Protokolları
- 10.7 Maintenance və Məlumatların Bərpası
- 10.8 Mühit Dəyişənləri
- 10.9 Qısa Məzmun
-
A1. Appendix A: Digər Mühitlərdə Git
- A1.1 Qrafik interfeyslər
- A1.2 Visual Studio’da Git
- A1.3 Visual Studio Code’da Git
- A1.4 Eclipse’də Git
- A1.5 Sublime Text’də Git
- A1.6 Bash’da Git
- A1.7 Zsh’də Git
- A1.8 PowerShell’də Git
- A1.9 Qısa Məzmun
-
A2. Appendix B: Proqramlara Git Daxil Etmək
- A2.1 Əmr-sətri Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Appendix C: Git Əmrləri
- A3.1 Quraşdırma və Konfiqurasiya
- A3.2 Layihələrin Alınması və Yaradılması
- A3.3 Sadə Snapshotting
- A3.4 Branching və Birləşmə
- A3.5 Layihələrin Paylaşılması və Yenilənməsi
- A3.6 Yoxlama və Müqayisə
- A3.7 Debugging
- A3.8 Patching
- A3.9 E-poçt
- A3.10 Xarici Sistemlər
- A3.11 İdarəetmə
- A3.12 Plumbing Əmrləri
A1.7 Appendix A: Digər Mühitlərdə Git - Zsh’də Git
Zsh’də Git
Zsh ayrıca Git üçün tab-completion kitabxanası ilə təchiz olunur.
Onu istifadə etmək üçün sadəcə .zshrc
-inizdə autoload -Uz compinit && compinit
-i işlədin.
Zsh interfeysi Bash-dan biraz daha güclüdür:
$ git che<tab>
check-attr -- display gitattributes information
check-ref-format -- ensure that a reference name is well formed
checkout -- checkout branch or paths to working tree
checkout-index -- copy files from index to working directory
cherry -- find commits not merged upstream
cherry-pick -- apply changes introduced by some existing commits
Birmənalı olmayan tab-completions yalnız siyahıda deyil; faydalı izahatlara malikdirlər və nişanı dəfələrlə vuraraq siyahıda qrafik olaraq gəzə bilərsiniz. Bu, Git əmrləri, arqumentləri və depo içərisindəki şeylərin adları (ref və uzaq məsafələr kimi), həmçinin fayl adları və Zsh-in nəyi tamamlayacağını bildiyi bütün şeylərlə işləyir.
Zsh, vcs_info
adlanan versiya nəzarət sistemlərindən məlumat almaq üçün bir çərçivəyə sahibdir.
Branch adını sağ tərəfdəki bildirişə daxil etmək üçün bu sətirləri ~/.zshrc
faylınıza əlavə edin:
autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT=\$vcs_info_msg_0_
# PROMPT=\$vcs_info_msg_0_'%# '
zstyle ':vcs_info:git:*' formats '%b'
Bu, qabığınız Git deposunun içərisində olduqda, terminal pəncərəsinin sağ tərəfindəki mövcud branch-ın göstərilməsi ilə nəticələnir. Əlbətdə sol tərəf də dəstəklənir; yalnız PROMPT üçün tapşırıqdan imtina edin. Biraz buna bənzəyir:
![Özəlləştirilmiş `zsh` prompt](png/zsh-prompt.png)
zsh
promptvcs_info
haqqında daha çox məlumat üçün fayllarını zshcontrib(1)
dərslik səhifəsində və ya http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Version-Control-Information.
vcs_info
əvəzinə Git ilə göndərilən, git-prompt.sh
adlanan istəmə özəlləştirmə skriptinə üstünlük verə bilərsiniz; Ətraflı məlumat üçün https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh səhifəsinə baxın.
git-prompt.sh
həm Bash, həm də Zsh ilə uyğundur.
Zsh kifayət qədər güclüdür ki, onu daha da yaxşılaşdırmağa həsr olunmuş bütün çərçivələr var. Bunlardan biri "oh-my-zsh" adlanır və https://github.com/robbyrussell/oh-my-zsh saytında tapa bilərsiniz.
oh-my-zsh-in plagin sistemi güclü git tab-completion ilə gəlir və əksəriyyəti versiya nəzarəti məlumatlarını əks etdirən müxtəlif sürətli "mövzulara" malikdir. An example of an oh-my-zsh theme bu sistemlə nəyin edilə biləcəyinin yalnız bir nümunəsidir.
![An example of an oh-my-zsh theme](png/zsh-oh-my.png)