Git 🌙
Chapters ▾ 2nd Edition

A3.3 Ek bölüm C: Git Komutları - Kısaca Poz (Snapshot) Alma

Kısaca Poz (Snapshot) Alma

İçeriği hazırlama ve geçmişinize kaydetme temel iş akışı için yalnızca birkaç temel komut vardır.

git add

git add komutu, bir sonraki işleme için çalışma dizinindeki içeriği izlem (stage) alanına (veya index 'e) ekler. git commit komutu çalıştırıldığında, varsayılan olarak yalnızca bu izlem alanına bakar, dolayısıyla git add bir sonraki katkı pozunun tam olarak neye benzemesini istediğinizi oluşturmak için kullanılır.

Bu komut Git’te inanılmaz derecede önemli bir komuttur ve bu kitapta onlarca kez bahsedilmiş veya kullanılmıştır. Bulunabilecek benzersiz kullanımlardan bazılarını hızlı bir şekilde ele aldık.

İlk olarak Yeni Dosyaları İzleme bölümünde git add 'i ayrıntılı olarak tanıtıyor ve açıklıyoruz.

Birleştirme Çakışması (merge conflict) bölümünde birleştirme çakışmalarını çözmek için nasıl kullanılacağından bahsettik.

Etkileşimli İzlemleme (Staging) bölümünde değiştirilmiş bir dosyanın yalnızca belirli bölümlerini etkileşimli olarak hazırlamak için kullanmaya devam edeceğiz.

Son olarak Ağaç (tree) Nesneleri bölümünde bunu düşük düzeyde taklit ediyoruz, böylece perde arkasında ne yaptığına dair bir fikir edinmenizi amaçladık.

git status

git status komutu size çalışma dizininizdeki ve hazırlama alanınızdaki dosyaların farklı durumlarını gösterecektir. Hangi dosyaların değiştirildiği ve izleme alınmadığını, hangilerinin izlemlendiğini ancak henüz kaydedilmediği. Normal haliyle, dosyaları bu durumlar arasında nasıl taşıyacağınız konusunda size bazı temel ipuçları da verir.

İlk olarak Dosyalarınızın Durumunu Denetleme bölümünde hem temel, hem de basitleştirilmiş formlarında status 'ı ele alıyoruz. Kitap boyunca bunu kullansak da, git status komutuyla yapabileceğiniz hemen hemen her şey burada ele alınmaktadır.

git diff

Herhangi iki ağaç arasındaki farkları görmek istediğinizde git diff komutu kullanılır. Bu, çalışma ortamınız ile izlem alanınız arasındaki fark (tek başına git diff), izlem alanınız ile son katkınız arasındaki (git diff --staged) veya iki katkı arasındaki fark (git diff master BranchB) olabilir.

İlk olarak İzleme Alınmış (Staged) ve Alınmamış (Unstaged) Değişiklikleri Görme bölümünde git diff 'in temel kullanımlarına baktık, burada hangi değişikliklerin izlemde olduğunu ve hangilerinin henüz izlemlenmediğini nasıl göreceğimizi anlattık.

Katkı Rehberi bölümündeki --check seçeneğiyle işlem yapmadan önce olası boşluk sorunlarını aramak için kullanırız.

Katkıları Tanımlamak bölümündeki git diff A...B sözdizimi ile dallar arasındaki farkları nasıl daha etkili bir şekilde kontrol edebileceğimizi görüyoruz.

İleri Seviye Birleştirme bölümünde -b ile boşluk farklarını filtrelemek ve çakışan dosyaların farklı aşamalarını --theirs, --ours ve --base ile nasıl karşılaştıracağımızı görürüz.

Son olarak, Alt Modüllere Giriş bölümündeki --submodule ile alt modül değişikliklerini etkili bir şekilde karşılaştırmak için kullanıyoruz.

git difftool

git difftool komutu, yerleşik git diff komutu dışında bir şey kullanmak istemeniz durumunda size iki ağaç arasındaki farkı gösterece,k harici bir aracı başlatır.

git commit

git commit komutu, git add ile hazırlanan tüm dosya içeriğini alır ve veritabanına yeni bir kalıcı poz kaydeder ve ardından geçerli daldaki dal işaretçisini ona doğru hareket ettirir.

İlk olarak Değişiklikleri Katkı Olarak İşlemek bölümünde katkı işlemenin temellerini ele aldık. Burada ayrıca günlük iş akışlarında git add adımını atlamak için -a bayrağının nasıl kullanılacağını ve bir düzenleyiciyi başlatmak yerine komut satırına bir katkı mesajı iletmek için -m bayrağının nasıl kullanılacağını da gösterdik.

Değişiklikleri Geri Alma bölümünde, en son işlemi yeniden yapmak için --amend seçeneğinin kullanımını ele aldık.

Dallar bölümünde git commit 'in ne yaptığı ve bunu neden böyle yaptığı hakkında çok daha fazla ayrıntıya girdik.

Katkıları İmzalama bölümünde katkıların kriptografik olarak -S bayrağıyla nasıl imzalanacağına baktık.

Son olarak katkı Nesnesi bölümünde, git commit komutunun arka planda ne yaptığına ve gerçekte nasıl uygulandığına bir göz attık.

git reset

git reset komutu, muhtemelen fiilden de anlayabileceğiniz gibi, öncelikle işleri geri almak için kullanılır. HEAD işaretçisi etrafında hareket eder ve isteğe bağlı olarak index 'i veya izlem alanını (stage) değiştirir ve ayrıca --hard bayrağını kullanırsanız, isteğe bağlı olarak çalışma dizinini de değiştirebilir. Bu son seçenek, yanlış kullanıldığında bu komutun çalışmanızı kaybetmesine olanak tanır; bu nedenle kullanmadan önce sonuçlarını anladığınızdan emin olun.

Öncelikle İzleme Alınmış Dosyayı izlemden Çıkarmak bölümünde git reset 'in en basit kullanımını etkili bir şekilde ele alıyoruz; burada onu, üzerinde git add çalıştırdığımız bir dosyayı izlemden kaldırmak için kullandık.

Daha sonra tamamen bu komutu açıklamaya ayrılan Reset Komutunun Gizemleri bölümünde, bunu oldukça ayrıntılı bir şekilde ele aldık.

Birleştirmeyi İptal bölümünde bir birleştirme işlemini iptal etmek için git reset --hard 'ı kullandık; burada aynı zamanda git reset için bir sarmalayıcı (wrapper) parçası olan git merge --abort 'u da kullandık.

git rm

git rm komutu, dosyaları Git’in izlem alanından ve çalışma dizininden kaldırmak için kullanılır. Bir sonraki katkıdan önce bir dosyanın izlemden kaldırılması açısından git add 'in tam zıttıdır.

Dosyaları Silmek bölümünde, dosyaları yinelemeli olarak (alt dizinlerine inerek) kaldırmak ve dosyaları yalnızca izlem alanından kaldırmak, ancak bunları --cached ile çalışma dizininde bırakmak da dahil olmak üzere, git rm komutunu biraz ayrıntılı olarak ele aldık.

Kitapta git rm 'nin diğer tek farklı kullanımı Nesneleri Silmek bölümündedir. Burada git filter-branch komutu çalıştırırken --ignore-unmatch bayrağını kullanıp, açıkladık: bu bayrak kaldırmaya çalıştığımız dosya mevcut olmadığında, hata verilmemesini sağlar ve komut dosyası oluşturma amaçları için yararlı olabilir.

git mv

git mv komutu, bir dosyayı taşımak ve ardından yeni dosyada git add ve eski dosyada git rm komutunu çalıştırmak için kullanılan, basit bir kolaylaştırma komutudur.

Bu komuttan yalnızca Dosyaları Taşıma bölümünde kısaca bahsettik.

git clean

git clean komutu, istenmeyen dosyaları çalışma dizininizden kaldırmak için kullanılır. Bu, geçici derleme yapıtlarının kaldırılmasını veya çakışma dosyalarının birleştirilmesini de içerebilir.

Çalışma Dizininizi Temizlemek bölümünde git clean komutunu kullanabileceğiniz birçok seçeneği ve senaryoyu ele aldık.

scroll-to-top