Git
Chapters ▾ 2nd Edition

A1.7 Ek bölüm A: Diğer Ortamlarda Git - Zsh ile Git

Zsh ile Git

Zsh, Git için bir sekme tamamlama kütüphanesiyle birlikte gelir. Bunu kullanmak için, sadece .zshrc dosyanızda autoload -Uz compinit && compinit komutunu çalıştırmanız yeterlidir. Zsh’nin arayüzü, Bash’inkinden biraz daha güçlü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

check-attr  — gitattributes verisini gösterir check-ref-format  — Referans adının düzgün şekilde oluşturulduğundan emin olur checkout  — Çalışma dizinine dal veya yolları alır checkout-index  — Dosyaları dizinden çalışma dizinine kopyalar cherry  — Üst akımla birleştirilmemiş katkıları bulur cherry-pick  — Varolan bazı katkılar tarafından getirilen değişiklikleri uygular

"Belirsiz sekme tamamlamaları" sadece listelenmekle kalmaz, yardımcı açıklamalara da sahiptir ve sekme tuşuna tekrar tekrar basarak listeyi grafiksel olarak gezinebilirsiniz. Bu özellik Git komut ve argümanları, repo içindekilerin (referanslar ve uzaklar gibi) adları, dosya adları ve Zsh’nin sekme tamamlamayı nasıl gerçekleştireceğini bildiği tüm diğer öğelerle çalışır.

Zsh, sürüm kontrol sistemlerinden bilgi almak için bir çerçeve olan vcs_info ile birlikte gelir. Sağ tarafta geçerli dalları içeren bir ipucu almak için ~/.zshrc dosyanıza şu satırları ekleyin:

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, shell’iniz bir Git reposu içinde olduğunda, terminal penceresinin sağ tarafında geçerli dalın görüntülenmesini sağlar. (Sol taraf da desteklenir; sadece PROMPT’a yapılan atamayı yorum satırından çıkarın.) Şöyle görünür:

Özelleştirilmiş `zsh` istemi.
Görsel 162. Özelleştirilmiş zsh istemi.

vcs_info hakkında daha fazla bilgi için ilgili rehbere zshcontrib(1) kılavuz sayfasından, veya çevrimiçi olarak http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Version-Control-Information adresinden ulaşabilirsiniz.

Vcs_info yerine Git ile birlikte gelen git-prompt.sh adlı bilgi istemi özelleştirme komut dosyasını tercih edebilirsiniz; Ayrıntılar için https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh adresine bakın. git-prompt.sh hem Bash hem de Zsh ile uyumludur.

Zsh, onu daha iyi hale getirmeye adanmış tüm çerçevelerin bulunacağı kadar güçlüdür. Bunlardan biri olan "oh-my-zsh" https://github.com/robbyrussell/oh-my-zsh adresinde bulunabilir. oh-my-zsh’in eklenti sistemi güçlü git sekmesi tamamlama özelliğiyle birlikte gelir ve çoğu sürüm kontrol verilerini görüntüleyen çeşitli bilgi istemi "temaları" içerir. Oh-my-zsh temasına bir örnek. bu sistemle neler yapılabileceğinin yalnızca bir örneğidir.

Oh-my-zsh temasına bir örnek.
Görsel 163. Oh-my-zsh temasına bir örnek.
scroll-to-top