Visual Studio'da Git depolarını yönetme

Şunlar için geçerlidir:yes Mac noiçin Visual Studio noVisual Studio Visual Studio Code

Git Deposu penceresi, Git deponuzu yönetmenize ve ekibinizin projeleriyle güncel kalmanıza yardımcı olan tam ekran bir Git deneyimi sağlar. Örneğin, işlemeleri sıfırlamanız, geri döndürmeniz veya tek tek seçmeniz ya da yalnızca işleme geçmişinizi temizlemeniz gerekebilir. Git Deposu penceresi, dallarınızı görselleştirmek ve yönetmek için de harika bir yerdir.

Visual Studio ile sürüm denetimi Git ile kolaydır. Ayrıca GitHub veya Azure DevOps gibi tercih ettiğiniz Git sağlayıcısıyla uzaktan çalışabilirsiniz. Alternatif olarak, hiçbir sağlayıcı olmadan yerel olarak çalışabilirsiniz.

Son işlemeyi değiştirme (düzeltme)

Son işlemenin güncelleştirilmesi Git'te düzeltme olarak adlandırılır ve bu yaygın bir kullanım örneğidir. Bazen yalnızca işleme iletinizi güncelleştirmeniz veya son dakika değişikliği eklemeniz gerekebilir.

Aşağıdaki komutu kullanarak komut satırındaki bir işlemeyi değiştirebilirsiniz:

git commit --amend

Git Deposu penceresi, işleme iletinizi güncelleştirmeyi kolaylaştırır. Son işlemenin ayrıntılarını çift tıklayarak açın ve işleme iletisinin yanındaki Düzenle seçeneğini belirleyin.

Screenshot of editing a commit message.

İşleme iletinizi düzenlemeyi bitirdiğinizde Düzelt'i seçin.

Screenshot of saving an edited message by selecting Amend.

Son işlemenize kod değişiklikleri eklemeniz gerekiyorsa, bunu Git Değişiklikleri penceresinde yapabilirsiniz. Düzelt onay kutusunu seçin ve değişikliklerinizi işleyin.

Screenshot of amending code changes by using the Git Changes window.

Düzeltme hakkında daha fazla bilgi edinmek için Git web sitesindeki Git Araçları - Geçmişi Yeniden Yazma bölümüne bakın.

İşlemeleri birleştirme (squash)

Git, bir dizi işlemeyi birleştirmek için işlemeleri tek bir işlemeye sıkıştırma seçeneği sunar. Bu seçenek, sık sık işlemeler yapıyorsanız ve uzak bir depoya göndermeden önce temizlemek istediğiniz işlemelerin uzun bir listesini alıyorsanız yararlı olabilir.

Aşağıdaki komutu kullanarak komut satırında iki işlemeyi sıkıştırabilirsiniz:

git rebase -i HEAD~2

Ardından, olarak güncelleştirin picksquash, kaydedin ve işleme iletisini güncelleştirin.

Screenshot of updating pick to squash.

Visual Studio'da işlemeleri birleştirmek için , birleştirmek istediğiniz birden çok işlemeyi seçmek için Ctrl tuşunu kullanın. Ardından sağ tıklayıp Sıkıştır İşlemeler'i seçin. Visual Studio işleme iletilerinizi otomatik olarak birleştirir, ancak bazen güncelleştirilmiş bir ileti sağlamak daha iyidir. İşleme iletinizi gözden geçirip güncelleştirdikten sonra Sıkıştır düğmesini seçin.

Screenshot of squashing commits in Visual Studio.

Sıkıştırma hakkında daha fazla bilgi edinmek için Git web sitesindeki Git Araçları - Geçmişi Yeniden Yazma bölümüne bakın.

Dalları birleştirme ve yeniden temel oluşturma

Git dallarını farklı özellikler üzerinde çalışmak için kullanıyorsanız, bir noktada diğer dallara sunulan güncelleştirmeleri eklemeniz gerekir. Bu durum, özellik dalınız üzerinde çalışmaya devam ederken gerçekleşebilir. Özellik dalınız üzerinde çalışmayı bitirdiğinizde ve değişikliklerinizi farklı bir dala ekleyerek saklamanız gerektiğinde de bu durum oluşabilir. Git'te, dalları birleştirerek veya yeniden birleştirerek bu güncelleştirmeleri ekleyebilirsiniz.

Not

Aşağıdaki yönergelerde bir özellik dalı için örnek ad olarak New_Feature kullanılır. Kendi dalınızın adıyla değiştirin.

Ana dalı komut satırındaki özellik dalınızla birleştirmek için aşağıdaki komutları kullanın:

git checkout New_Feature
git merge main

Visual Studio'da da aynı işlemi yapmak için, dal listesinde özellik dalını çift tıklatarak dalını gözden geçirin. Ardından main'a sağ tıklayın ve 'ana' öğesini 'New_Feature' ile birleştir'i seçin.

Screenshot of merging branches in Visual Studio.

Ana dalı komut satırındaki özellik dalınıza yeniden temel almak için aşağıdaki komutları kullanın:

git checkout New_Feature
git rebase main

Visual Studio'da da aynı işlemi yapmak için, dal listesinde özellik dalını çift tıklatarak dalını gözden geçirin. Ardından main'a sağ tıklayın ve 'New_Feature' öğesini 'main' üzerine yeniden temelle'yi seçin.

Screenshot of rebasing branches in Visual Studio.

Genel olarak birleştirme, yeniden dengeleme ve dallanma hakkında daha fazla bilgi edinmek için Git web sitesindeki Git Dallanma bölümüne bakın.

İşlemeleri kopyalama (tek tek seçme)

Tek tek seçme seçeneğini kullanarak işlemeleri bir daldan diğerine kopyalayın. Birleştirme veya yeniden temel alma işlemlerinden farklı olarak, tek tek seçim, daldaki tüm değişiklikler yerine yalnızca seçtiğiniz işlemelerdeki değişiklikleri getirir. Kiraz toplama, bu yaygın sorunları çözmenin harika bir yoludur:

  • Yanlışlıkla yanlış dalda işleme. Değişiklikleri doğru dalda tek tek seçin ve özgün dalı önceki işlemeye sıfırlayın.
  • Özellik dalında yapılan bir dizi işlemeyi çekerek bunları ana dalınızla daha önce birleştirebilirsiniz.
  • Dalınızı yeniden bağlamadan ana daldan belirli işlemeleri taşıma.

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

git cherry-pick 7599e530

Aynı işlemi Visual Studio'da da yapmak için, tek tıklamayla bir işlemeyi seçerek tek tek seçmek istediğiniz dalın önizlemesini görüntüleyebilirsiniz. Ardından hedeflenen işlemeye sağ tıklayın ve Tek Tek Seç'i seçin.

Screenshot of cherry-picking in Visual Studio.

İşlem tamamlandığında Visual Studio bir başarı iletisi gösterir. Tek tek seçtiğiniz işleme Giden bölümünde görünür.

Tek tek toplama işlemeleri hakkında daha fazla bilgi edinmek için bkz. Tek tek seçme komutu için Git web sayfası.

Değişiklikleri geri döndürme

Paylaşılan dallara gönderilen işlemelerde yapılan değişiklikleri geri almak için revert komutunu kullanın. revert komutu, önceki işlemede yapılan değişiklikleri geri alan yeni bir işleme oluşturur. Revert komutu depo geçmişini yeniden yazmaz ve bu da başkalarıyla çalışırken kullanımı güvenli hale getirir.

Komut satırını kullanarak bir işlemede yapılan değişiklikleri geri döndürmek için aşağıdaki komutları kullanın. Örnek kimliği, dalınızdaki gerçek bir işlemenin kimliğiyle değiştirin.

git revert 53333305
git commit

Önceki örnekte komutlar işleme 53333305 yapılan değişiklikleri geri alır ve dalda yeni bir işleme oluşturur. Özgün işleme hala Git geçmişindedir. Aynı işlemi Visual Studio'da yapmak için, geri döndürmek istediğiniz işlemeye sağ tıklayın ve geri al'ı seçin. Eyleminizi onayladıktan ve işlem tamamlandıktan sonra Visual Studio bir başarı iletisi görüntüler ve Giden bölümünde yeni bir işleme görüntülenir.

Screenshot of reverting in Visual Studio.

Geri alınan işlemenin değişikliklerini geri aldırdığını onaylamak için yeni işlemeyi seçin.

Screenshot of confirming a revert operation.

Değişiklikleri geri döndürme hakkında daha fazla bilgi edinmek için revert komutunun Git web sayfasına bakın.

Bir dalı önceki bir duruma sıfırlama

Yerel deponuzdaki bir dalı önceki işlemenin içeriğine geri getirmek için reset komutunu kullanın. Bu eylem, dalınızı sıfırladığınız işlemeden bu yana gerçekleşen tüm değişiklikleri atar.

Uyarı

Başkalarının çalışmalarını silebileceğiniz için paylaşılan dalları sıfırlamayın. Bunun yerine revert komutunu kullanın.

Komut satırını kullanarak bir dalı önceki bir duruma sıfırlamak için aşağıdaki komutu kullanın. Örnek kimliği, dalınızdaki gerçek bir işlemenin kimliğiyle değiştirin.

git reset --hard 53333305

--hard Komutun bölümü Git'e dosyaları önceki işleme durumuna sıfırlamasını ve hazırlanan değişiklikleri atsını söyler. Visual Studio'da da aynı işlemi yapmak için dalınızı sıfırlamak istediğiniz işlemeye sağ tıklayın ve ardından Silme Değişikliklerini Sıfırla>(--hard) öğesini seçin.

Screenshot that shows resetting a branch in Visual Studio.

Dalları sıfırlama hakkında daha fazla bilgi edinmek için sıfırlama komutunun Git web sayfasına bakın.

Sonraki adımlar

Yolculuğunuza devam etmek için bkz . Visual Studio'da birleştirme çakışmalarını çözme.

Ayrıca bkz.