zshell

Git paneli

Değişiklikleri üreten kabuğun yanında hazırlayın, inceleyin, commit ve push yapın.

Cmd+Shift+G tuşlarına basın. Panel projenizin bağlı olduğu depoda açılır; nasıl seçildiği için proje dizini bölümüne bakın.

Buradaki her işlem Zshell’in sizin adınıza çalıştırdığı bir Git komutudur. Sonuç yalnızca “tamamlandı”dan fazlasını anlatıyorsa çıktı gösterilir. Siz istemedikçe geçmiş yeniden yazılmaz, squash veya force push yapılmaz.

Git araç çubuğu

Zshell etkin sekmenin altında küçük bir araç çubuğu gösterebilir. Depoda geçerli dal ve toplam eklenen/silinen satır sayısı görünür; değişiklik yoksa yeşil Temiz durumu gösterilir. İzlenmeyen dosyalar eklenen satır sayısına dâhildir.

  • Yerel dalları aramak ve değiştirmek için dal adına tıklayın. Deponun varsayılan dalı listede işaretlidir.
  • Git panelini açmak için değişiklik sayılarına tıklayın.
  • Depo dışında Her Zaman Göster modu, panelin başlatma görünümünü açan Git Deposu Yok düğmesini bırakır.

Ayarlar → Genel altında Gizle, Otomatik veya Her Zaman Göster seçin ya da toolbar.visibility ayarlayın. Varsayılan Gizle’dir. Görünür araç çubuğu kendi bağlam menüsünden de gizlenebilir.

Değişmiş dosyalar

Dosyalar çakışmalar, hazırlanmış ve hazırlanmamış değişiklikler olarak gruplanır. Düğmeler için satırın üzerine gelin veya bağlam menüsünü kullanın:

Düğmeİşlev
+Dosyayı hazırlama alanına ekler
−Hazırlama alanından çıkarır
↺Değişikliklerini atar

Panel başlığındaki Tüm Değişiklikleri At önce onay ister; burada başka bir Git komutuyla geri alamayacağınız işlem budur.

Çakışmalı dosyalarda normal hazırlama düğmesi yerine Çözüldü Olarak İşaretle (Hazırla) vardır; çözme yan etki değil, bilinçli adımdır.

Başlıktaki huni düğmesi dosya adına göre süzer; büyük değişikliklerde gezinmenin en hızlı yoludur.

Farkları okuma

Değişmiş dosyaya tıklamak farkını terminalin üstüne değil, yanındaki bölmeye açar. Bağlam menüsünde Dosyayı Aç (düzenlenebilir dosyanın kendisi) ve Dosyayı Yanda Aç da vardır.

Büyük farklar da akıcıdır. Bin dosyalık değişiklik kümesi tek satırlık kadar hızlı açılır ve takılmadan kaydırılır.

Fark üstündeki denetimler iki tercihi uygulama genelinde hatırlar:

  • Birleşik / Yan Yana, tek sütun ve karşılıklı görünüm arasında geçer.
  • İncele / Düzenle, canlı çalışma ağacındaki hazırlanmamış dosyalarda görünür. Yeni tarafı doğrudan düzenleyip Cmd+S ile kaydedin; kaydedilmemiş dosyayı kapatma davranışı normal düzenleyiciyle aynıdır.

Hazırlanmış ve geçmiş commit farkları salt okunurdur; bunlar Zshell’in güvenle yazabileceği dosyalar değil, anlık görüntülerdir. Bir farkı Düzenle veya Yan Yana yapmak diğer açık farkların tercihini günceller ama uygun olmayan farkları düzenlenebilir yapmaz.

Commit oluşturma

Mesaj yazıp commit düğmesini kullanın veya menüsünden seçin:

  • Hazırlananları Commit Et — tam olarak hazırladıklarınızı commit eder
  • Tümünü Hazırla ve Commit Et — izlenen her şeyi hazırlayıp commit eder
  • Son Commit’i Değiştir — hazırlanmış değişiklikleri önceki commit’e katar
  • Tümünü Hazırla ve Son Commit’i Değiştir

Son commit’ler altta listelenir; bağlam menülerinde Commit Hash’ini Kopyala ve Commit Mesajını Kopyala vardır.

Dallar

Başlıktaki dal adı bir menüdür: geçmek için başka dal seçin veya bulunduğunuz yerden dal başlatmak için Yeni Dal Oluştur… kullanın.

Çalışma ağaçları

Git paneli deponun tüm çalışma ağaçlarını dal ve çalışma kopyası yollarıyla listeler. Etkin kopya Geçerli işaretlidir. Birine tıklamak o dizinde yeni terminal sekmesi açar; her kopya aynı projede kalırken kendi kabuk bağlamını korur. Uzun listeler sınırlandırılmış kendi alanında kaydırılır; bölüm başlığı, commit denetimleri ve değişmiş dosya listesi yerinde kalır. Başlığa tıklamak bölümü daraltır/genişletir.

Detached HEAD çalışma ağaçlarında dal adı yerine Detached HEAD görünür. Bare depolar da bütünlük için listelenir; çalışma dizinleri olmadığından terminal sekmesinde açılamaz.

Worktree oturumları

Yerel Git deposundaki terminalde Terminal → Worktree içinde yeni oturum… seçeneğini kullanın veya Cmd+Opt+T tuşlarına basın. Sekmenin ve + düğmesinin bağlam menülerinde de aynı işlem bulunur. Yeni veya mevcut bir yerel dal ve henüz var olmayan bir dizin seçin. Yeni dallar deponun varsayılan dalından başlar; Geçerli HEAD açıkça seçilebilir. Mevcut dallar geçerli commit’lerini korur. Önerilen dizin kaynak checkout’un yanındadır.

Bölünmüş paneller oturumun worktree ilişkisini devralır; kaydedilen yerleşim de bu ilişkiyi geri yükler. İlişkili oturumu kapatırken Worktree’yi koru, Worktree’yi kaldır veya İptal seçilir. Kaldırma için değiştirilmiş, izlenmeyen veya yok sayılan dosya, kaydedilen temel referans dışında commit, kilit ve checkout’u kullanan başka açık oturum bulunmamalıdır. Git dalı her zaman korunur.

Dış terminal, zshell +session ile oturum oluşturup kapatabilir. --project için projects tarafından döndürülen kimliği kullanın; Zshell içinde çağıran terminalin projesi otomatik kullanılır. --focus eklenmedikçe oturum arka planda oluşturulur. --base HEAD veya --base REF başka bir temel referans seçer, --worktree NEW_DIR dizini ayarlar. Gerektiğinde --connection FILE çalışan bir örneği seçer. Açık --remove-worktree olmadan kapatma worktree’yi korur; check temizliğin o anda güvenli olup olmadığını bildirir.

zshell +session projects
zshell +session new --project PROJECT_ID --cwd /path/to/repo --branch feat/task
zshell +session list --project PROJECT_ID
zshell +session check --project PROJECT_ID --session SESSION_ID
zshell +session close --project PROJECT_ID --session SESSION_ID --remove-worktree

Uzak depolar

⋯ menüsü uzak depoyla konuşan işlemleri içerir:

İşlemİşlev
FetchUzak izleme referanslarını günceller
Pull (Yalnızca Fast-forward)Merge commit oluşturmadan çeker; gerekirse reddeder
PushGeçerli dalı gönderir
Dalı YayımlaUpstream’i olmayan dalı gönderir; birden fazla uzak varsa seçtirir
Değişiklikleri EşitleFast-forward pull, ardından push
Tüm Değişiklikleri Stash’e Alİzlenmeyen dosyalar dâhil her şeyi saklar
Stash’i Geri YükleEn son stash’i geri getirir

Dalın yanındaki rozetler upstream’e göre kaç commit ↓ geride ve ↑ ileride olduğunuzu gösterir.

Aynı menüde Değişen Yolları Kopyala, Depo Yolunu Kopyala ve Depoyu Finder’da Göster vardır.

Pull bilinçli olarak yalnızca fast-forward yapar. Gerçek merge veya rebase gerekirse Git söyler; kararı terminalde siz verirsiniz. Panel sizin yerinize strateji seçmez.

Henüz depo değilse

Proje dizininde depo yoksa panel o klasörde git init çalıştıran Depoyu Başlat seçeneğini sunar. O zamana kadar önünüze çıkmaz.

Aracı turlarını inceleme

Git panelinde Değişiklikleri İncele… seçeneğine tıklayın.

  • Son Tur, seçilen aracının başlangıç ve bitiş anlık görüntülerini karşılaştırır; yazarı kim olursa olsun o aralıktaki tüm düzenlemeleri içerir.
  • Commit Edilmemiş, hazırlanmış ve izlenmeyen dosyalar dahil HEAD ile çalışma ağacını karşılaştırır.
  • Tüm Dal, seçilen temel dalla ortak atayı commit ve commit edilmemiş dosyalar dahil çalışma ağacıyla karşılaştırır.

Bir dosya ve değişiklik bloğu seçin. Son Tur’da Değişiklik Bloğunu Koru incelemeyi kaydeder; Değişiklik Bloğunu Geri Al çalışma ağacındaki bloğu geri alır. İkisi de Git indeksini değiştirmez. İlk anlık görüntü ve kararlar görünür kalır.

Dosya veya HEAD sonradan değişmişse, yol güvenli değilse, etkin aracı varsa veya turlar çakışıyorsa geri alma reddedilir. İkili ve yalnızca izin değişiklikleri salt okunurdur. 5 MiB üzerindeki dosyalar kullanılamaz. 2.048 değişen yol, 25 MiB içerik veya yakalama süresi sınırını aşan anlık görüntüler de kullanılamaz.

Anlık görüntüler geçerli uygulama oturumu boyunca saklanır. Güvenilir başlangıç ve bitiş olayları gerekir. Pi, OpenCode ve Grok yerel entegrasyonlara sahiptir. Korumalı istemler başlangıcı yakalar ancak yine de bitiş olayı gerekir. Eksikse tamamlanmış anlık görüntü bulunmadığı gösterilir.