git diff komutu, iki kayıttaki dosyalar arasındaki veya mevcut deponuz ile önceki bir kayıt arasındaki farkları gösterir. Bu komut, değişiklikleri başlıklara ve değişen dosyalar için meta verilere göre görüntüler.
Git sürüm kontrol sistemiyle çalışırken, deponuzdaki verileri başka bir veri havuzuyla karşılaştırmak isteyebilirsiniz. veri kaynağı. Örneğin, iki farklı işlemi veya iki dosyayı birbiriyle karşılaştırmak isteyebilirsiniz.
diff işlevinin devreye girdiği yer burasıdır. Diffing, iki girişi kabul eden ve var olan değişiklikleri sunan bir işlevdir. bu veri kaynakları arasında Diff işlevleri dallarda, dosyalarda ve taahhütlerde yürütülebilir.
Bu eğitici, örneklerle Git ile diffing'in temellerini ve git diff komutunun nasıl kullanılacağını tartışacaktır. Bu öğreticiyi okuduktan sonra, git diff komutunu kullanma konusunda uzman olacaksınız.
git diff komutu, dosyalar arasındaki farkları iki işlemde görüntüler. veya bir taahhüt ile mevcut deponuz arasında. Bir dosyaya hangi metnin eklendiğini, dosyadan kaldırıldığını ve dosyada değiştirildiğini görebilirsiniz.
git diff komutunun sözdizimi burada:
git diff
Varsayılan olarak, git diff komutu deponuzdaki herhangi bir taahhüt edilmemiş değişiklikleri görüntüler.
Orijinal dosyamızdan kaldırılan satırların yanı sıra orijinal dosyamıza eklenen veya değiştirilen satırları görebiliriz. Genellikle Git diff, Git deposundaki şubeleri karşılaştırmak için kullanılır.
Katılımcıların %81'i, bir eğitim kampına katıldıktan sonra teknik iş olanakları konusunda daha emin hissettiklerini belirtti. Bugün bir eğitim kampı ile eşleştirin.
Ortalama bir eğitim kampı mezunu, bir eğitim kampına başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan daha az zaman harcadı.
İki dosya arasında dosya karşılaştırabilirsiniz. Karşılaştırmak istediğiniz taahhütlere atıfta bulunan referansın adını belirterek Git taahhütleri. Referans, geçerli şubeye atıfta bulunan bir taahhüt kimliği veya HEAD olabilir.
git diff
;
Git depomuzdaki iki taahhüdü karşılaştıralım.
Bunu yapmak için, önce dosyalarına sahip olduğunuz taahhütlerin kimliğini almanız gerekir. karşılaştırmak istiyorum. Bu görevi, bir depodaki tüm taahhütlerin kısa bir özetini döndüren git log –pretty=oneline komutunu kullanarak gerçekleştirebilirsiniz:
git log --pretty=oneline
Bu komut şunu döndürür:
5141ea9c41cdc7152408bfcab54a910f34441855 (HEAD ->; master) feat: README.md'yi güncelleyin 749055ee99df2aa6f5adc4cbe4bfc708395f1c2e belgeleri karşılaştırın: Varsayalım ki README.md'yi iki tane taahhüt edelim> oluşturun . Bunu şu komutu kullanarak yapabiliriz:
git diff 5141ea9c41cdc7152408bfcab54a910f34441855 749055ee99df2aa6f5adc4cbe4bfc708395f> >Yukarıdaki komut, iki taahhüdümüz arasında bir fark işlemi gerçekleştirecektir.
Dallar Arasında Git Farkı
diff komutunu kullanarak iki Git dalını karşılaştırmak için şunu belirtin: bağımsız değişken olarak karşılaştırmak istediğiniz iki dalı. Her dal adı arasında iki nokta kullanmanız gerekir. Bu noktalar, her bir daldaki en son taahhüdü okumak ve bunları karşılaştırmak istediğinizi gösterir:
Diyelim ki “master” dalını depomuzdaki “dev-v0.9” adlı bir dal ile karşılaştırmak istedik. Bunu şu komutu kullanarak yapabiliriz:git diff master dev-v0.9
Bu komut yürütüldüğünde, “master” ve “ dev-v0.9” kod tabanımızdaki dallar.
Benzer şekilde, belirli dosyaları iki farklı dalda karşılaştırabilirsiniz. bu nedenle, yukarıdakiyle aynı sözdizimini kullanabilir ve ayrıca karşılaştırmak istediğiniz dosyayı belirtebilirsiniz.
Diyelim ki README.md dosyasını “master” ve “dev-v0.9” dallar. Bunu şu kodu kullanarak yapabiliriz:git diff master dev-v0.9 ./README.md
Bu, README.md dosyasını (geçerli dizinimizde bulunan, “./” sözdizimi ile gösterilir) “master” ve “dev-v0.9” dalları.
Git Diff Komut Örneği
Boş bir depo başlattığımızı ve depomuzu bir README.md dosyasıyla başlatmak istediğimizi varsayalım. Depomuzda aşağıdaki cümleyi içeren bir README.md dosyası oluşturduk:
Bu, Git diff özelliğine bir örnektir.
Dosyaları ve Taahhütleri Hazırla< p>git commit komutunu kullanarak bu dosya ile bir taahhüt oluşturacağız:git commit
Bu, depomuzda yaptığımız değişiklikleri kaydetmemizi sağlar. git komutu şunu döndürür:[master (root-commit) 749055e] dokümanlar: README.md 1 dosyası oluşturun değişti, 1 ekleme(+) oluşturma modu 100644 README.md
Bu aşamada git diff komutunu çalıştırırsak hiçbir şey olmaz. Bunun nedeni, depomuzun başlatılmış olması ve depomuzdaki dosyalar arasında herhangi bir değişiklik olmamasıdır. Artık temel bir depomuz olduğuna göre, depomuzdaki dosyaların içeriğini değiştirebiliriz. Bu, git diff komutunu çalışırken görmemizi sağlayacaktır.
Diyelim ki “Bu satırı dosyamıza ekledik” README.md dosyasına. Bunu şu komutu kullanarak yapabiliriz:
"Python.Engineering hayatıma en çok ihtiyacım olduğu anda girdi ve hızlı bir şekilde bir bootcamp ile eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, değerlerime uygun hayalimdeki işi buldum. ve hayattaki hedefler!"
Venus, Rockbot'ta Yazılım Mühendisi
Yukarıdaki komut cümlemizi README.md dosyasına ekler.
Bu, artık ilk README.md dosyamız ile havuzumuzdaki mevcut README.md dosyası arasında bir fark olduğu anlamına gelir.
git diff komutunu çalıştırarak görebiliriz. bu iki dosya arasındaki farklar.Varsayılan olarak, git diff komutu, en son işleme ile havuzun mevcut durumu arasındaki tüm dosyalar için bir fark üretir.
Taahhütler Arasında Git Farkı Çalıştır< p>Komutu çalıştırdığımızda aşağıdaki yanıt döndürülür:diff --git a/README. md b/README.md index f808522..f08e544 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ +Bu satırı dosyamıza yeni ekledik.
Bu, Git diff özelliğinin bir örneğidir.
Bu, git diff komutunun tipik bir sonucudur.Sonucumuz, nelerin eklendiğini veya kaldırıldığını gösterir. dosyamız birleştirilmiş diff biçiminde.
git diff komutu, son taahhüdümüz ile mevcut depomuz arasındaki tüm dosyalarda yapılan tüm değişikliklerin bir listesini döndürür.
İsterseniz bir depodaki belirli bir dosyada yapılan değişiklikleri almak için, o dosyayı üçüncü bir parametre olarak belirleyebilirsiniz. Yalnızca README.md dosyasında yapılan değişiklikleri görmek istediğimizi varsayalım.
Bu örnekte, yalnızca README.md dosyasını değiştirdik, bu nedenle yine de yalnızca bu değişiklikler gösterilecektir. Ancak daha büyük bir depo ile çalışıyor olsaydık, yalnızca bir dosyadaki değişiklikleri karşılaştırmak isteyebilirdik. Bunu yapmak için şu komutu kullanabiliriz:git diff README.md
Bu komut, README.md dosyasının mevcut sürümünü, depomuza taahhüt edilen son sürümle karşılaştırmamızı sağlar.
Git Diff Dökümü
Git diffs bir sayı içerir depodaki bir dosya arasındaki değişiklikleri analiz etmek için kullanabileceğimiz bileşenler. Önceki örneğimize atıfta bulunarak bunları parçalara ayıralım.
Girdi Dosyaları
Farkımızın ilk bileşeni giriş dosyalarıdır. Farkın bu kısmı, farkta hangi dosyaların karşılaştırıldığını söyler.
Kodumuzun mevcut sürümündeki README.md dosyasını, kodumuzun son sürümündeki README.md dosyasıyla karşılaştırıyoruz. kod. Bu, kodumuzun ilk satırında belirtilmiştir:diff --git a/README.md b/ README.md
Meta veriler
Sonra, farkımız Git depomuz için meta verileri içerir. Bu meta veriler, bir dosyada yaptığınız değişiklikleri izlemek için Git tarafından kullanılan nesne sürüm etiketlerini görüntüler.
Bu bilgi, diff komutunun çoğu durumda nadiren kullanılır.Yukarıdaki örneğimizde, meta veriler şöyle görünür:index f808522..f08e544 100644
İşaretçileri Değiştir
Git diff çıktısının sonraki kısmı işaretçileri değiştir. Bu dosya deseni işaretçileri, dosyalarımızda ne tür değişiklikler yapıldığını söyler. Yukarıdaki örneğimiz için değişiklik işaretleri şunlardır:--- a/README.md +++ b/README.md
Bu işaretler bize a/README.md'den değişiklik olduğunu söyler b/README.md dosyasına yansıtılan (eksi işaretleri ile gösterilir) yapılmıştır (artı işaretleri ile gösterilir).
Kod Değişiklikleri
Son olarak, farkımız bir kodumuzda yapılan değişikliklerin listesi. Tam bir dosya karşılaştırmasının aksine, farklar yalnızca bir dosyanın değiştirilmiş bölümlerini gösterir. Örneğimizde, dosyamıza aşağıdaki sonucu veren bir satır ekledik:@@ -1 +1,2 @@ Bu, Git diff özelliğinin bir örneğidir. +Bu satırı dosyamıza yeni ekledik.
İlk satır dosyamızda yapılan değişikliklerin bir özetidir. Bu bize ikinci satırdan (2) başlayarak dosyamıza (+1) bir satır kod eklediğimizi söylüyor.
Ardından, yapılan değişikliklerin bir listesi gösteriliyor. Gördüğünüz gibi “Bu satırı dosyamıza yeni ekledik” satırını eklediğimiz için o satır farkımızda görünüyor. Artı işareti, dosyaya o satırı eklediğimizi söyler.
Sonuç
Fark oluşturma, Git'te iki dosyayı, dalı veya kesinleştirmeyi karşılaştırmanıza izin veren kullanışlı bir işlevdir. Git deposu. Bu, deponuzda belirli bir noktadan sonra hangi değişikliklerin yapıldığını görmenizi sağlar.
Bu eğitici, Git ile farklılaştırmanın temellerini ve bir diff işlemi gerçekleştirmek için git diff komutunun nasıl kullanılacağını ele aldı. Artık git diff komutunu bir uzman gibi kullanmaya başlamak için ihtiyacınız olan bilgilerle donatıldınız!
Git hakkında daha fazla öğrenme kaynağı için Git Nasıl Öğrenilir kılavuzu.