Visual Studio'da Git depolarını yönetme
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.
Git ile Visual Studio ile sürüm denetimi kolaydır. Ayrıca, GitHub veya Azure DevOps gibi tercih ettiğiniz Git sağlayıcısıyla uzaktan çalışabilirsiniz. Ya da hiçbir sağlayıcı olmadan yerel olarak çalışabilirsiniz.
Git Deposu penceresini açma
Git Deposu penceresini açmak için Git deposunu görüntüle'yi>seçin (veya Ctrl+0, Ctrl+R tuşlarına basın) veya Ctrl Q tuşuna+basın ve Özellikler'in altında Git deposunu arayın.
GitHub Copilot Sohbeti ile işlemeyi açıklama
Visual Studio 2022 sürüm 17.10 önizleme 2 ve üzeri ve GitHub Copilot uzantıları ile yapay zekayı kullanarak bu işlemedeki değişiklikleri açıklayan ayrıntılı bir işleme açıklaması oluşturabilirsiniz. GitHub Copilot'ın bir işleme açıklaması oluşturmasını istemek için Açıkla düğmesine basın. GitHub Copilot'ı yüklemek için bkz . Visual Studio'da GitHub Copilot'ı yükleme ve yönetme.
Son işlemeyi değiştirme (düzeltme)
Son işlemenin güncelleştirilmesi Git'te değişiklik olarak adlandırılır ve bu yaygın bir kullanım örneğidir. Bazen 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, en son işleme iletinizi güncelleştirmenizi kolaylaştırır. Son işlemeye çift tıklayarak işleme ayrıntılarını açın ve işleme iletisinin yanındaki Düzenle seçeneğini belirleyin.
İşleme iletinizi düzenlemeyi bitirdiğinizde Düzelt'i seçin.
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.
En son ileti dışındaki işleme iletilerini değiştirme de dahil olmak üzere 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.
birleştirme işlemeleri (squash)
Git, bir dizi işlemeyi birleştirmek için işlemeleri tek bir işlemeye sıkıştırma seçeneği sağlar. Bu seçenek, sık sık işlemeler yaparsanız ve uzak bir depoya göndermeden önce temizlemek istediğiniz işlemelerin uzun bir listesiyle sonuçlanırsa yararlı olabilir.
Aşağıdaki komutu kullanarak komut satırındaki iki işlemeyi sıkıştırabilirsiniz:
git rebase -i HEAD~2
Ardından, olarak güncelleştirin pick
squash
, kaydedin ve işleme iletisini güncelleştirin.
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ın ve Sıkıştırma İşlemeleri'ni 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.
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
Farklı özellikler üzerinde çalışmak için Git dalları 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 çift tıklayarak özellik dalını gözden geçirin. Ardından main'a sağ tıklayın ve 'main' öğesini 'New_Feature' ile birleştir'i seçin.
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 çift tıklayarak özellik 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.
Genel olarak birleştirme, yeniden bağlama ve dallanma hakkında daha fazla bilgi edinmek için Git web sitesindeki Git Dallanma bölümüne bakın.
İşlemeleri kopyalama (vişne seçimi)
Kiraz seçimi seçeneğini kullanarak işlemeleri bir daldan diğerine kopyalayın. Birleştirme veya yeniden temel alma işleminden 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 erken birleştirirsiniz.
- 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
Visual Studio'da da aynısını yapmak için, tek tıklamayla bir işlemeyi seçerek tek bir işleme seçmek istediğiniz dalın önizlemesini yapın. Ardından hedeflenen işlemeye sağ tıklayın ve Kiraz Seç'i seçin.
İşlem tamamlandığında Visual Studio bir başarı iletisi gösterir. Seçtiğiniz işleme Giden bölümünde görünür.
Kiraz toplama işlemeleri hakkında daha fazla bilgi edinmek için, vişne seçme komutunun Git web sayfasına bakın.
Değişiklikleri geri al
Paylaşılan dallara gönderilen işlemelerde yapılan değişiklikleri geri almak için geri döndür komutunu kullanın. Geri döndür 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 sayede 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. Visual Studio'da da aynı işlemi yapmak için, geri döndürmek istediğiniz işlemeye sağ tıklayın ve ardından Geri Döndür'e tıklayın. 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.
Geri alınan işlemenin değişikliklerini geri aldırdığını onaylamak için yeni işlemeyi seçin.
Değişiklikleri geri alma hakkında daha fazla bilgi edinmek için geri döndür komutunun Git web sayfasına bakın.
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ı
Diğer kişilerin çalışmalarını silebileceğiniz için paylaşılan dalları sıfırlamayın. Bunun yerine geri döndür 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 aşamalı değişiklikleri at etmesini 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 Değişiklikleri Sil'i (--hard) Sıfırla'yı> seçin.
Dalları sıfırlama hakkında daha fazla bilgi edinmek için, sıfırlama komutu için Git web sayfasına bakın.