Visual Studio’da Git Repolarını Yönetme

Git Reposu penceresi, Git reponuzu yönetmenize ve ekibinizin projeleriyle güncel kalmanıza yardımcı olan tam ekran bir Git deneyimi sağlar. Örneğin, commitleri sıfırlamanız, geri almanız veya özenle seçmeniz ya da sadece commit geçmişinizi temizlemeniz gerekebilir. Git Reposu penceresi ayrıca branchlarınızı görselleştirmek ve yönetmek için harika bir yerdir.

Son Commit’i Değiştir (amend)

Son commit’in güncellenmesi Git’te amending (değişiklik) olarak adlandırılır ve bu yaygın bir kullanım durumudur. Bazen commit mesajınızı güncellemeniz yeterlidir veya bir son dakika değişikliği eklemeniz gerekebilir.

Aşağıdaki komutu kullanarak komut satırında bir commit’î değiştirebilirsiniz:

git commit --amend

Git Reposu penceresi, commit mesajınızı güncellemenizi kolaylaştırır. Son commit’in ayrıntılarını çift tıklayarak açın ve ardından commit mesajının yanındaki Edit seçeneğini seçin.

Commit mesajınızı düzenlemeyi bitirdiğinizde Amend’i seçin.

Son commit’inize kod değişiklikleri eklemeniz gerekiyorsa, bunu Git Changes (Değişiklikler) penceresinde yapabilirsiniz. Amend onay kutusunu seçin ve ardından değişikliklerinizi kaydedin.

Commitleri Birleştirme (Merge) – (squash)

Bir dizi taahhüdü birleştirmek için Git, taahhütleri tek bir taahhüde sıkıştırma seçeneği sunar. Bu seçenek, sık sık commitlerde bulunursanız ve sonunda remote bir repoya göndermeden önce temizlemek istediğiniz uzun bir commit listesiyle karşılaşırsanız yardımcı olabilir.

Aşağıdaki komutu kullanarak komut satırında iki işlemi ezebilirsiniz:

git rebase -i HEAD~2

Ardından pick’i squash olarak güncelleyin, kaydedin ve commit mesajını güncelleyin.

Visual Studio’da commit’leri birleştirmek için, birleştirmek istediğiniz birden fazla commit’i seçmek için Ctrl tuşunu kullanın. Ardından sağ tıklayın ve Squash Commits’i seçin. Visual Studio, commit mesajlarınızı otomatik olarak birleştirir, ancak bazen güncellenmiş bir mesaj sağlamak daha iyidir. Commit mesajınızı inceleyip güncelledikten sonra Squash düğmesini seçin.

Branchları Birleştirme (Merge) ve Yeniden Yapılandırma (Rebase)

Farklı özellikler üzerinde çalışmak için Git branchlarını kullanıyorsanız, bir noktada diğer branchlarına sunulan güncellemeleri dahil etmeniz gerekecektir. Bu, siz hala özellik branchınız üzerinde çalışırken olabilir. Özellik branchınız üzerinde çalışmayı bitirdiğinizde ve değişikliklerinizi farklı bir şubeye ekleyerek saklamanız gerektiğinde de olabilir. Git’te, branchları birleştirerek veya yeniden yapılandırma alarak bu güncellemeleri dahil edebilirsiniz.

Main branch’ı komut satırında özellik branch’ınızla birleştirmek için aşağıdaki komutları kullanın:

git checkout New_Feature
git merge main

Aynısını Visual Studio’da yapmak için, özellik branchına branch listesinde çift tıklatarak kontrol edin. Ardından main’e öğeye sağ tıklayın ve Merge ‘main’ into ‘New_Feature’ı seçin.

Main branchı komut satırındaki özellik branch’ına yeniden yapılandırmak için aşağıdaki komutları kullanın:

git checkout New_Feature
git rebase main

Aynısını Visual Studio’da yapmak için, özellik branchını branch listesinde çift tıklatarak kontrol edin. Ardından main’e sağ tıklayın ve Rebase ‘New_Feature’ onto ‘main’ seçin.

Commitleri Kopyalama (cherry-pick)

Cherry-pick seçeneğini kullanarak commitleri bir branch’dan diğerine kopyalayın. Birleştirme veya yeniden yapılandırmadan farklı olarak, bir branch’daki tüm değişiklikler yerine yalnızca seçtiğiniz commitlerde ki değişiklikleri getirir. Cherry-picking aşağıdaki yaygın sorunları çözmenin harika bir yoludur:

  • Yanlışlıkla yanlış branchda işlem yapmak. Değişiklikleri doğru brancha doğru seçin ve ardından orijinal branchı önceki işleme sıfırlayın.
  • Bir özellik branchında yapılan bir dizi commitin çıkarılması, böylece onları main branchınızda daha erken birleştirirsiniz.

Komut satırını kullanarak değişiklikleri geçerli branchınıza kopyalamak için aşağıdaki komutu kullanın:

git cherry-pick 7599e530

Aynısını Visual Studio’da yapmak için, tek bir tıklamayla içinden bir commit seçmek istediğiniz branchı seçerek önizleyin. Ardından, hedeflenen işleme sağ tıklayın ve Cherry-Pick’i seçin.

İşlem tamamlandığında, Visual Studio bir başarı mesajı gösterir. Seçtiğiniz commit, outgoing bölümünde görünür.

Değişiklikleri Geri Alma

Paylaşılan branchlara aktarılan commitlerde yapılan değişiklikleri geri almak için revert komutunu kullanın. Revert komutu, önceki bir commite yapılan değişiklikleri geri alan yeni bir commit oluşturur. Geri al komutu repo geçmişini yeniden yazmaz, bu da başkalarıyla çalışırken kullanımı güvenli hale getirir.

Komut satırını kullanarak bir tamamlamada yapılan değişiklikleri geri almak için aşağıdaki komutları kullanın.

git revert 53333305
git commit

Yukarıda ki örnekte, komutlar 53333305 numaralı committe yapılan değişiklikleri geri alacak ve branchda yeni bir commit oluşturacaktır. Aynısını Visual Studio’da yapmak için geri almak istediğiniz işleme sağ tıklayın ve ardından Revert‘i seçin. Eyleminizi onayladıktan ve işlem tamamlandıktan sonra, Visual Studio bir başarı mesajı görüntüler ve Outgoin bölümünde yeni bir commit görünür.

Geri alınan commitin değişikliklerini geri aldığını doğrulamak için yeni commit’i seçin.