07/Documentation
Değişiklikler: bir aracının neleri değiştirdiğini görün
Bir ajanın çalışma alanında neleri değiştirdiği: panelden veya panodan değiştirilen dosyalar, farkları ve son commit. Salt okunur git, iç içe depolar ve ne kadar derine bakılacağını belirleyen iki ayar
Değişiklikler görünümü, bir çalışma alanının git depolarında son commit işleminden bu yana nelerin değiştiğini gösterir. Aracı çalışırken bunu telefonunuzdan inceleyebilirsiniz: değişen dosyalar, eklenen ve silinen satırlar ve her dosyanın sözdizimi renklendirmeli diff çıktısı. Aracı commit yapmışsa son commit gösterilir.
Not. Değişiklikler yalnızca okuma yapar. Asla bir dosyayı stage etmez, commit yapmaz, düzenlemez veya checkout etmez (aşağıda).
Açın
Giriş için iki yol vardır.
- Bir bölmeden. Bölmenin eylem çubuğundaki Değişiklikler düğmesine dokunun; bu, Switch işaretinin solundaki simgedir. Liste, bölmenin tüm çalışma alanını kapsar ve bölmenin kendi deposunu işaretler.
- Panodan. Panonun alt bilgisinde, Bölmeler ve Odak yanındaki Değişiklikler öğesine dokunun. Değişen dosya sayısı ile toplanmış eklenen ve silinen satırları içeren, her çalışma alanı için bir satır listeler. Değişiklik olmayan bir çalışma alanı silik şekilde yerinde kalır. O çalışma alanının listesini açmak için bir satıra dokunun.
Pano sayaçları 5 saniyede bir ve yalnızca Değişiklikler sekmesi ekrandayken yenilenir. Seçtiğiniz sekme cihaz başına saklanır.
Liste
Liste, değişen dosyaları git deposuna göre gruplar. Her dosya kendi durumunu ve +added −removed satır sayılarını gösterir.
| Durum | Anlamı |
|---|---|
| Değiştirildi | İzlenen bir dosya değişti |
| Eklendi | Yeni bir dosya, stage edildi |
| Silindi | İzlenen bir dosya kaldırıldı |
| Yeniden adlandırıldı | Bir dosya taşındı; farkı eski yolu belirtir |
| İzlenmeyen | Git'in henüz izlemediği yeni bir dosya |
- Temel, son commit'tir. Kademelenmiş ve kademelenmemiş değişiklikler birlikte gösterilir. Hiç commit içermeyen bir depo, boş bir ağaçla karşılaştırılır.
- Yeni bir dosya tamamen eklenen satırlar olarak görünür. Yeni bir klasör tek bir girdidir: Collie klasörün yeni olduğunu belirtir ve içindeki dosyaları listelemez. Bu, yeni bir
node_modulesdizinini listenin dışında tutar. - İkili bir dosya listelenir ancak satırları gösterilmez.
- Bu bölme. Birden fazla deponun listelendiği bir bölmeden açıldığında, bölmenin kendi deposu Bu bölme etiketini taşır. İlk okumada liste bu depoya kayar.
- Liste veya Ağaç. Düzen düğmesi, dosyaları depo başına düz bir liste veya bir klasör ağacı olarak gösterir.
- Dosyaları filtreleyin. Filtre düğmesi, listeyi yol metnine ve duruma göre daraltır. Liste ardından dosyalarından kaç tanesinin gösterildiğini belirtir.
Bir farkı okuyun
Farkını okumak için bir dosyaya dokunun. Önceki dosya ve Sonraki dosya, listeye geri dönmeden listede adım adım ilerler.
- Fark; iki satır numarası kenar boşluğu, renklendirilmiş eklenen ve silinen satırlar ve kaydırılan satırlar gösterir.
- Yaygın diller sözdizimi renklendirmesi alır: TypeScript ve JavaScript, JSON, CSS, HTML, Markdown, Python, Go, Rust, kabuk, YAML, TOML ve fazlası. Başka bir dildeki dosya veya 2000 satırın üzerindeki bir fark düz kalır.
- Çok uzun bir fark bir sınırda durur ve bunu belirtir.
- Siz okurken ajan dosyayı geri alır veya commit'lerse, fark ekranda kalır ve başlığı Artık değiştirilmedi yazar. Görünüm hiçbir zaman başka yere atlamaz.
Son commit
Ajanlar genellikle kendi çalışmalarını commit'ler, bu nedenle liste okumak istediğiniz değişiklikten hemen sonra boş olabilir. İşlenmemiş değişikliği olmayan bir depo için görünüm Son commit'i göster sunar.
Commit görünümü konuyu, yazarı, zamanı, kısa hash'i ve her biri kendi farkına sahip commit dosyalarını gösterir. Commit'i ilk üst ögesiyle karşılaştırır, böylece bir birleştirme ne getirdiğini gösterir. Yalnızca en yeni commit'i okur. Geçmiş tarayıcısı yoktur.
- Ajan tekrar commit yaptığında, sessiz bir Daha yeni bir commit var dokunulmayı bekler. Ekrandaki dosyalar siz farkında olmadan değişmez.
- Yeni işlenmemiş değişiklikler belirdiğinde, Yeni işlenmemiş değişiklikler sizi listeye geri götürür.
Güncel kalır
Açık bir Değişiklikler ekranı, sayfa görünür durumdayken her 5 saniyede bir git'i yeniden okur. Bir fark (diff) görünümünde, açık dosya da tekrar okunur. Yeni bir şey bulamayan bir yeniden okuma ekrandaki hiçbir şeyi oynatmaz: kaydırma konumunuz, filtreniz ve daraltılmış klasörleriniz olduğu gibi kalır.
- Gizlenen bir sayfa okumayı durdurur ve tekrar görünür olduğunda bir kez okuma yapar.
- Yenile düğmesi hemen okur.
- Üst üste iki okuma başarısız olursa, başlıkta Güncellenmiyor yazar ve son geçerli liste kalır. Bir sonraki başarılı okuma bunu temizler.
Hangi klasör ve hangi depolar
Liste yalnızca bölmenin kendi klasörünü değil, bölmenin çalışma alanı alanını kapsar; böylece bir çalışma alanındaki her bölme aynı listeyi gösterir. Başlık, çalışma alanını ve onun klasörünü belirtir. Collie bu klasörü sırasıyla şöyle seçer:
| Sıra | Klasör |
|---|---|
| 1 | Çoklayıcı bir klasör tuttuğunda çalışma alanının kendi klasörü: Herdr için worktree, tmux için oturum klasörü |
| 2 | Çalışma alanının tüm bölmelerini içeren en derin klasör |
| 3 | İlk iki seçenek /, ev dizininiz veya bunun yukarısı olacağında bölmenin kendi klasörü |
Collie ardından o klasörü barındıran depoyu bulur. Ayrıca altındaki klasörlerde bulunan depoları, hatta üst deponun yoksaydığı depoları bile arar. Üye depolarını kendi içinde yoksayan bir çalışma alanı deposunun tüm üyelerin değişikliklerini göstermesi bu sayede gerçekleşir.
Cihaz bazlı iki ayar bu aramayı kontrol eder. İkisi de Ayarlar → Cihaz → Değişiklikler içinde yer alır.
| Ayar | Varsayılan | İşlevi |
|---|---|---|
| Bu klasörün içindeki depoları ara | açık | Üst deponun yoksaydıkları dahil olmak üzere, çalışma alanı klasörünün altındaki klasörlerde bulunan depoları da listeler |
| Ne kadar derine bakılacağı | 2 | Aramanın çalışma alanı klasörünün kaç klasör seviyesi altına ineceği, 1 ila 4 |
Arama hiçbir zaman bir sembolik bağı (symlink) takip etmez. Nokta ile başlayan klasörleri ve node_modules, dist, build, vendor ile target klasörlerini atlar. 20 depoya veya 5000 klasör girdisine ulaştığında durur.
Arama derinlik sınırında durduğunda ve daha alt seviyelerde depolar olduğunda, liste "Daha alt seviyelerde depolar varken 2 düzeyde durduruldu." ifadesi ve bir Ayarlar'da daha derine bakın bağlantısıyla sona erer. Depo veya girdi sınırına takıldığında ise dosyalar eksik kalabileceğinden liste "Liste bir sınıra takıldı" ifadesiyle biter.
Aramanın bulduğu bir alt modül veya iç içe depo, kendi deposu olarak bir kez görünür. Derinlik sınırının altındaki bir alt modül ise üst deposunda tek bir girdi olarak görünür.
Salt okunur ve güvenli
Değişiklikler ekranı yalnızca okuma amacıyla git'i çalıştırır, başka hiçbir şey yapmaz.
- Asla stage'e almaz, commit yapmaz, düzenlemez veya checkout çalıştırmaz. Git'in indeks önbelleğini bile yenilemez.
- Collie depoyu okurken deponun kendi kancaları (hooks), filtreleri, harici fark programları ve metin dönüştürücüleri asla çalıştırılmaz. Bir ajan herhangi bir şeyi klonlamış olabilir ve siz sadece Değişiklikler'e dokunmuşsunuzdur.
- Ağa asla erişmez, kısmi bir klondaki (partial clone) eksik bir dosyayı getirmek için bile bağlanmaz. Bu dosya daha sonra sıfır sayımlarla ve boş bir farkla gösterilir.
- Fark yalnızca aramanın bulduğu bir depoda git'in bizzat değiştiğini listelediği bir dosya için sunulur.
Kuralların tamamı ADR 0065 içindedir.
Bir ekip genelinde
Bir crew içinde, başka bir makinedeki bölme veya çalışma alanı o makinede okunur. Lider isteği iletir ve o makinenin git'i yanıt verir. O makinede Collie 1.13.0 veya üzeri bir sürüm çalışmalıdır.
Sınırlar
- zellij bölmelerinde Değişiklikler düğmesi yoktur. zellij bir bölmenin klasörünü bildirmez. Bir zellij çalışma alanına ait gösterge paneli satırında "Klasör yok" yazar.
- Bölmenin sahibi olan makinede Git kurulu olmalıdır.
- Git LFS dosyaları değiştirilmiş olarak görünebilir. Filtreler kapalıyken Collie bir LFS dosyasını kendi işaretçisiyle karşılaştırır. Yalnızca fazladan değişiklik gösterebilir, hiçbir değişikliği gizlemez.
- Tek çalışma alanı, tek klasör. Bölmeleri ana klasörünüzün altındaki ilgisiz klasörlerde bulunan bir çalışma alanı, birleştirilmiş bir görünüm yerine sorgulayan bölmenin kendi klasörünü okur.
Bu sayfayı GitHub üzerinde düzenleyin