-
1. Başlangıç
- 1.1 Sürüm Denetimi
- 1.2 Git’in Kısa Tarihçesi
- 1.3 Git Nedir?
- 1.4 Komut Satırı
- 1.5 Git’i Yüklemek
- 1.6 Git’i İlk Defa Kurmak
- 1.7 Yardım Almak
- 1.8 Özet
-
2. Git Temelleri
-
3. Git Dalları
- 3.1 Dallar
- 3.2 Kısaca Dallandırma ve Birleştirme Temelleri
- 3.3 Dal Yönetimi
- 3.4 İş Akışı Dallandırması
- 3.5 Uzak Dallar
- 3.6 Yeniden Temelleme (rebase)
- 3.7 Özet
-
4. Bir Sunucuda Git Kurma
- 4.1 İletişim Kuralları (Protocols)
- 4.2 Bir Sunucuda Git Kurma
- 4.3 SSH Ortak Anahtarınızı Oluşturma
- 4.4 Sunucu Kurma
- 4.5 Git Cini (Daemon)
- 4.6 Akıllı HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Üçüncü Taraf Barındırma (Hosting) Seçenekleri
- 4.10 Özet
-
5. Dağıtık Git
- 5.1 Dağıtık İş Akışları
- 5.2 Projenin Gelişiminde Rol Almak
- 5.3 Bir Projeyi Yürütme
- 5.4 Özet
-
6. GitHub
- 6.1 Bir Projeye Katkıda Bulunmak
- 6.2 Proje Bakımı
- 6.3 Kurumsal Yönetim
- 6.4 GitHub’ı otomatikleştirme
- 6.5 Özet
-
7. Git Araçları
- 7.1 Düzeltme Seçimi
- 7.2 Etkileşimli İzlemleme (Staging)
- 7.3 Saklama ve Silme
- 7.4 Çalışmanızı İmzalama
- 7.5 Arama
- 7.6 Geçmişi Yeniden Yazma
- 7.7 Reset Komutunun Gizemleri
- 7.8 İleri Seviye Birleştirme
- 7.9 Rerere
- 7.10 Git’le Hata Ayıklama
- 7.11 Alt Modüller
- 7.12 Demetleme (Bundling)
- 7.13 Git Nesnesini Değiştirme
- 7.14 Kimlik Bilgisi Depolama
- 7.15 Özet
-
8. Git’i Özelleştirmek
- 8.1 Git Yapılandırması
- 8.2 Git Nitelikleri
- 8.3 Git Kancaları (Hooks)
- 8.4 Bir Örnek: Mecburi Git Politikası
- 8.5 Özet
-
9. Git ve Diğer Sistemler
- 9.1 İstemci Olarak Git
- 9.2 Git’e Geçiş
- 9.3 Özet
-
10. Dahili Git Ögeleri
- 10.1 Tesisat ve Döşeme (Plumbing ve Porcelain)
- 10.2 Git Nesneleri
- 10.3 Git Referansları
- 10.4 Packfiles
- 10.5 Refspec
- 10.6 Transfer Protokolleri
- 10.7 Bakım ve Veri Kurtarma
- 10.8 Ortam Değişkenleri
- 10.9 Özet
-
A1. Ek bölüm A: Diğer Ortamlarda Git
- A1.1 Görsel Arayüzler
- A1.2 Visual Studio ile Git
- A1.3 Visual Studio Code ile Git
- A1.4 Eclipse ile Git
- A1.5 Sublime Text ile Git
- A1.6 Bash ile Git
- A1.7 Zsh ile Git
- A1.8 PowerShell ile Git
- A1.9 Özet
-
A2. Ek bölüm B: Git’i Uygulamalarınıza Gömmek
- A2.1 Git Komut Satırı
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Ek bölüm C: Git Komutları
- A3.1 Kurulum ve Yapılandırma Komutları
- A3.2 Proje Oluşturma Komutları
- A3.3 Kısaca Poz (Snapshot) Alma
- A3.4 Dallandırma ve Birleştirme Komutları
- A3.5 Projeleri Paylaşma ve Güncelleme Komutları
- A3.6 İnceleme ve Karşılaştırma Komutları
- A3.7 Hata Ayıklama (Debugging) Komutları
- A3.8 Yamalama (Patching)
- A3.9 E-Posta Komutları
- A3.10 Harici Sistemler
- A3.11 Yönetim
- A3.12 Tesisat (Plumbing) Komutları
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:
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.