İki metni yan yana koy, aradaki farkı anında gör. Satır, kelime ve karakter düzeyinde karşılaştırma; boşluk ve büyük-küçük harf yoksayma; hazır unified diff çıktısı. Yazdıkların tarayıcından hiç çıkmaz, sunucuya gönderilmez.
Karşılaştıracağın iki metni soldaki ve sağdaki kutuya yapıştır. Dosyaları doğrudan kutuların üzerine de sürükleyebilirsin; hiçbiri sunucuya yüklenmez.
Satır, kelime ya da karakter. Kelime çoğu metin için doğru seçimdir; kimlik, hash ve uzun sayılarda tek bir rakamı görebilmek için karakter düzeyine in.
Girinti ve boşluk değişiklikleri ya da büyük-küçük harf farkları seni ilgilendirmiyorsa yoksay. Uzun dosyalarda değişmeyen satırları tamamen gizleyebilirsin.
Farkı yan yana ya da satır içi oku. Unified diff çıktısını tek tıkla kopyala ya da .diff dosyası olarak indir.
Karşılaştırma her zaman satırları eşleştirerek başlar: hangi satır kaldı, hangisi çıktı, hangisi geldi. Ayrıntı düğmesi bunu değiştirmez; değişmiş sayılan bir satır çiftinin içinde neyin işaretleneceğini belirler.
| Ayrıntı | Ne yapar? | Ne zaman kullanmalı? |
|---|---|---|
| Satır | Değişen satırı bütün olarak işaretler. | Log dosyaları ve çok uzun satırlar. En hızlısı; gözün satırın tamamına takılmasını istediğinde. |
| Kelime | Satırın içinde yalnızca değişen kelimeleri boyar. | Sözleşme, makale, çeviri, kod. Varsayılan seçim; bir cümlede tek bir kelimenin değiştiğini anında gösterir. |
| Karakter | Değişimi tek tek harflere kadar indirir. | Kimlik, hash, IBAN, uzun sayı. Bir rakamın değiştiğini kelime düzeyinde görmek zordur, karakter düzeyinde imkânsız değildir. |
Diff, iki metni birbirine çeviren en kısa değişiklik listesidir. Bu araç Myers algoritmasını kullanır: sonucun en kısa olduğu matematiksel olarak garanti edilir, yani sana olmayan bir değişiklik gösterilmez. Aynı algoritma git, svn ve komut satırındaki diff aracının da temelidir.
Kopyalayabildiğin ve indirebildiğin çıktı, yazılım dünyasının ortak biçimi olan unified diff formatındadır. Bir hata kaydına, bir pull request açıklamasına ya da doğrudan patch komutuna verebilirsin.
| İşaret | Anlamı |
|---|---|
| - | Satır özgün metinde vardı, değişmiş metinde yok. |
| + | Satır değişmiş metne eklendi, özgün metinde yoktu. |
| boşluk | Satır iki metinde de aynı; sadece bağlam olarak yazılır. |
| @@ | Yeni bir değişiklik bölgesinin başladığını ve bu bölgenin iki metinde hangi satır aralığına denk geldiğini gösterir. |
İki sütunlu karşılaştırmayla neyin neyle yer değiştirdiğini, satır içi görünümle de doğrudan patch çıktısının kendisini gör.
Değişen satır çiftleri ikinci kez karşılaştırılır; sadece gerçekten değişen kelime ya da karakter renklenir, geri kalanı sakin kalır.
Boşluk ve girinti değişikliklerini ya da büyük-küçük harf farklarını yoksay. Uzun dosyalarda değişmeyen satırları tamamen gizle.
İki kutuya da dosya bırakabilirsin: .txt, .json, .csv, .log, .sql ya da herhangi bir kaynak kodu dosyası. Dosya yüklenmez, sadece okunur.
Sonucu tek tıkla kopyala ya da .diff dosyası olarak indir. Çıktı standart biçimde, dolayısıyla patch komutu da GitHub da okuyabilir.
Karşılaştırma tarayıcında çalışır. Sözleşme, log ya da özel kaynak kodu yapıştırdığında bu veri hiçbir yere gönderilmez, kaydedilmez.
Karşılaştırmak istediğin iki metni soldaki ve sağdaki kutulara yapıştır ya da dosyalarını kutuların üzerine sürükle. Sonuç sen yazarken güncellenir: kırmızı satırlar soldan çıkanı, yeşil satırlar sağa gireni gösterir.
Hayır. Karşılaştırma tamamen tarayıcında çalışır; metin de sürüklediğin dosya da hiçbir yere yüklenmez ve kaydedilmez. Sekmeyi kapattığında geriye iz kalmaz, bu yüzden sözleşme, log ya da özel kaynak kodu yapıştırmak güvenlidir.
Evet. Araç satır tabanlı çalışır ve girintiyi olduğu gibi korur, dolayısıyla kaynak kodu, JSON, YAML, SQL ve yapılandırma dosyaları için doğrudan kullanılabilir. Yeniden biçimlendirme yüzünden çıkan gürültüden kurtulmak için “Boşlukları yoksay” seçeneğini işaretlemen yeterli.
Doğrudan hayır: bu araç düz metin okur. Word veya PDF belgesinin içeriğini kopyalayıp kutulara yapıştırdığında karşılaştırma sorunsuz çalışır. Sürükleyerek bırakabileceğin dosyalar .txt, .md, .json, .csv, .log gibi metin dosyalarıdır.
Unified diff, bir değişikliği anlatan standart metin biçimidir; git ve komut satırındaki diff aracı da aynı biçimi üretir. İndirdiğin .diff dosyasını bir hata kaydına ekleyebilir, pull request açıklamasına yapıştırabilir ya da patch komutuna vererek aynı değişikliği başka bir dosyaya uygulayabilirsin.
Satırların başındaki ve sonundaki boşlukları, ayrıca satır içindeki ardışık boşluk ve sekmeleri tek bir boşluk sayar. Yani girinti değişmiş ya da sekmeler boşluğa çevrilmiş satırlar aynı kabul edilir. Satır sonu farkları (CRLF ve LF) her durumda yoksayılır, ayrı bir seçenek gerektirmez.
İki metinde de aynı kalan satır sayısının, toplam satır sayısına oranıdır. Aynı kalan satırlar iki kez sayılır, çünkü hem soldaki hem sağdaki metne aittir. Kelime ya da karakter düzeyindeki kısmi benzerlik bu orana girmez; ölçü satırdır.
Sabit bir sınır yok; karşılaştırma Myers algoritmasıyla yapıldığı için birkaç bin satır tarayıcıda rahatça işlenir. Tabloda bir seferde en fazla 3000 satır çizilir, ancak indirdiğin diff dosyası her zaman farkın tamamını içerir.