Aracılığıyla paylaş


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

Git Deposu penceresi, Git deponuzu yönetmenize ve ekibinizin projelerinden haberdar olmanı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 de dallarınızı görselleştirmek ve yönetmek için 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 Görüntüle>Git deposu'yu seçin (veya Ctrl+0, Ctrl+Rtuşlarına basın) veya Ctrl+Q tuşlarına basın ve Özellikleraltında Git deposunuarayı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'un bir işleme açıklaması oluşturmasını istemek için Açıklama düğmesine basın. GitHub Copilot'ı yüklemek için bkz. Visual Studio'da GitHub Copilot yükleme ve yönetme.

GitHub Copilot'un bir işleme açıklaması oluşturmasını istemek için açıklama düğmesinin ekran görüntüsü.

Son taahhüdü düzelt (değiştir)

Git'te son commit'in güncellenmesi değiştirme olarak adlandırılır ve yaygın bir kullanımdır. 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 ardından işleme iletisinin yanındaki Düzenle seçeneğini belirleyin.

İşleme iletisini düzenlemenin ekran görüntüsü.

Taahhüt mesajınızı düzenlemeyi bitirdiğinizde Düzeltseçeneğini seçin.

Düzelt'i seçerek düzenlenen iletiyi kaydetme işleminin ekran görüntüsü.

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.

Git Değişiklikleri penceresini kullanarak kod değişikliklerini değiştirme ekran görüntüsü.

En son ileti dışındaki işleme iletilerini nasıl değiştireceğiniz de dahil olmak üzere düzeltme hakkında daha fazla bilgi edinmek için Git web sitesindeki Git Araçları - Yeniden Yazma Geçmişi 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 picksquasholarak güncelleştirin, kaydedin ve işleme iletisini güncelleştirin.

Seçimin sıkıştırma olarak güncellenmesinin ekran görüntüsü.

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 Squash Commitsöğesini 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 squash düğmesini seçin.

Visual Studio'da işlemeleri sıkıştırma işleminin ekran görüntüsü.

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 ana öğesine sağ tıklayın ve 'main'i 'New_Feature'ile birleştir'i seçin.

Visual Studio'da dalları birleştirme işleminin ekran görüntüsü.

Ana dalı komut satırından özellik dalınıza yeniden düzenlemek için şu 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 ana sağ tıklayın ve 'ana''New_Feature' olarak yeniden temelle'yi seçin.

Visual Studio'da dalları yeniden bağlama işleminin ekran görüntüsü.

Genel olarak birleştirme, yeniden temellendirme 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, cherry-pick, bir daldaki tüm değişiklikler yerine yalnızca seçtiğiniz commitlerdeki 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 commit'i alarak bunları ana dalınıza daha erken birleştirebilirsiniz.
  • Şubenizi yeniden temellendirmeden ana şubeden belirli taahhütleri aktarma.

Komut satırını kullanarak bir taahhütteki değişiklikleri mevcut şubenize kopyalamak için aşağıdaki komutu kullanın:

git cherry-pick 7599e530

Visual Studio'da aynı işlemi yapmak için, bir işleme almak istediğiniz dalı tek tıklamayla seçerek önizleyin. Ardından hedeflenen işlemeye sağ tıklayın ve Cherry-Picköğesini seçin.

Visual Studio'da kiraz toplamanın ekran görüntüsü.

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

Kiraz seçme işlemleri hakkında daha fazla bilgi edinmek için git web sayfasındaki kiraz seçme komutukısmı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. Dalınızdaki gerçek bir işlem kaydının kimliğiyle örnek kimliği değiştirin.

git revert 53333305
git commit

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

Visual Studio'da geri dönme işleminin ekran görüntüsü.

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

Geri alma işlemini onaylama işleminin ekran görüntüsü.

Geri Döndür menü öğesi, birleştirme işlemeleri veya Git işlemi çalıştırılırken olduğu gibi belirli durumlarda gri gösterilebilir (devre dışı bırakılabilir).

Değişiklikleri geri alma hakkında daha fazla bilgi edinmek için Git web sayfasındaki revert komutuöğesine bakın.

Dalın durumunu önceki bir hâle sıfırla

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ğini, dalınızdaki gerçek bir commitin kimliği ile değiştirin.

git reset --hard 53333305

Komutun --hard 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 aynı işlemi yapmak için, dalınızı sıfırlamak istediğiniz commit'e sağ tıklayın ve ardından Sıfırla>Değişiklikleri Sil (--hard)'ü seçin.

Visual Studio'da bir şubeyi sıfırlamayı gösteren ekran görüntüsü.

Dalları sıfırlama hakkında daha fazla bilgi edinmek için sıfırlama komutu hakkında bilgi edinebilmek amacıyla Gitweb sayfasına bakın.