Git'te Değişiklikleri Bir Daldan Diğerine Nasıl Çekilir

How Pull Changes From One Branch Another Git



Git deposu, kodu verimli bir şekilde yönetmek için bir veya daha fazla dal içerir. Bazen git kullanıcılarının aynı anda birden fazla şube ile çalışması ve bir önceki şubede yapılan değişikliklerle mevcut şubede yapılan değişikliklerle bir şubeden diğerine geçmeleri gerekir. Bu görev, git'te birden çok yol kullanılarak yapılabilir. Stash komutu, bu öğreticide değişiklikleri bir daldan diğerine çekmek için terminalden ve GitHub Masaüstündeki birleştirme komutlarından kullanılabilir.

Önkoşullar

1. GitHub Desktop'ı kurun
GitHub Desktop, git kullanıcısının git ile ilgili görevleri grafiksel olarak gerçekleştirmesine yardımcı olur. Ubuntu için bu uygulamanın en son yükleyicisini github.com'dan kolayca indirebilirsiniz. İndirdikten sonra kullanmak için bu uygulamayı kurmanız ve yapılandırmanız gerekir. Kurulum sürecini doğru bir şekilde bilmek için GitHub Desktop'ı Ubuntu'ya kurmak için öğreticiyi de kontrol edebilirsiniz.







2. GitHub hesabı oluşturun
Yerel depodaki değişikliği yayınladıktan sonra uzak deponun görünümünü kontrol etmek için bir GitHub hesabı oluşturmanız gerekecektir.



3. Yerel bir depo oluşturun
Bu öğreticide kullanılan komutları kontrol etmek için yerel bir depo oluşturmanız gerekir.



stash komutunun kullanımı

Adlandırılmış yerel depo PHP2 Bu öğreticide, değişikliklerin havuzun bir dalından başka bir dalına nasıl çekileceğini göstermek için kullanılmıştır. adlı bir dosya oluşturun index.html depoda. Terminali açın ve depo klasörüne gidin. Şube listesini kontrol etmek, ana şubeye geçmek ve şubenin durumunu görüntülemek için aşağıdaki komutları çalıştırın.





$ git dalı
$ git ödeme ustası
$ git durumu

Yukarıdaki komutu çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Çıktı, havuzun iki dal içerdiğini ve ana Şube başlangıçta aktifti. moduna geçtikten sonra usta dal, durum çıktısı mevcut dalın aktif olduğunu gösterir ve index.html dosya izlenmedi.



Takip edilmeyen dosyayı izlemek için aşağıdaki komutları çalıştırın ve git deposunun durumunu tekrar kontrol edin.

$ git index.html ekle
$ git durumu

Yukarıdaki komutları uyguladıktan sonra aşağıdaki çıktı görünecektir. Durumun çıktısı şunu gösterir: index.html dosya depoya eklenir ancak işlenmesi gerekir.

Aşağıdaki komutları çalıştırın ve git deposunun durumunu tekrar kontrol edin. `git stash` komutu, `git commit` komutu gibi çalışır. Bu komut yürütüldükten sonra havuzun çalışma dizini temizlenecektir.

$ git zulası
$ git durumu

Yukarıdaki komutları yürütürken aşağıdaki çıktı görünecektir.

Bir şube için stash komutunu çalıştırdıktan sonra, git kullanıcısı şubenin değişikliklerini başka bir şubeye çekmek isterse, bu işlemi `git merge` komutu gibi çalışan `git stash pop` komutu kullanılarak kolaylıkla yapılabilir. Geçiş yapmak için aşağıdaki komutları çalıştırın ana dal ve değişiklikleri usta şubeye ana dal.

$ git ödeme ana
$ git zula pop

Geçerli dalın olduğunu gösteren yukarıdaki komutu yürüttükten sonra aşağıdaki çıktı görünecektir. ana ve index.html dosya bu dalda eklenir.

Bir önceki görevi taahhüt mesajıyla yerine getirmek için aşağıdaki komutu çalıştırın ve durumu tekrar kontrol edin.

$ git commit -m 'dizin dosyası eklendi'
$ git durumu

Yukarıdaki komutları uyguladıktan sonra aşağıdaki çıktı görünecektir. Durumun çıktısı, işlemden sonra çalışma ağacının şimdi temiz olduğunu gösterir.

Yerel depo değişiklikleri uzak depoya itilirse ve uzak depo github.com'dan açılırsa depo aşağıdaki görüntü gibi görünecektir.

Birleştirme komutunun kullanılması

Bu öğreticinin bu bölümü, değişiklikleri bir daldan diğerine çekmenin başka bir yolunu gösterir. Adlandırılmış yerel depo okuma dosyası burayı kullanmıştır. Depo konumunda read.php adlı bir dosya oluşturun. Ana şubeye geçmek için aşağıdaki komutları çalıştırın, read.php dosyasını ekleyin ve görevi yerine getirin. Branch komutu, dal listesini görüntüler. Checkout komutu dalı master olarak değiştirecektir. Status komutu, şubenin mevcut durumunu gösterecektir. Add komutu, izlenmeyen dosyayı depoya ekleyecektir. Taahhüt komutu görevi onaylayacaktır.

$ git dalı
$ git ödeme ustası
$ git durumu
$ git add read.php
$ git commit -m 'Komut dosyası eklendi'

Yukarıdaki komutları uyguladıktan sonra aşağıdaki çıktı görünecektir. read.php dosyası, havuzun ana dalına eklendi ve görev de tamamlandı.

Yukarıdaki görevi tamamladıktan sonra, eğer usta şubeye transfer gerekiyor ana şube, o zaman birleştirme komutu bu görevi gerçekleştirmek için kullanılabilir. Birleştirme komutu, terminalden veya GitHub Desktop uygulaması kullanılarak kullanılabilir. Dalları birleştirmek için GitHub Desktop'ı kullanma yolu, öğreticinin bu bölümünde gösterilmiştir. GitHub Desktop'ta yerel depoyu açın. Tıklayarak şube listesi iletişim kutusunu açın. Şube listesi itibaren görüş menüsünü seçin ve ana şube aktif şube olarak. Şimdi, tıklayın Mevcut şubeye birleştir… itibaren Dal Menü. seçin usta iletişim kutusundan şube ve tıklayın Master'ı ana ile birleştir değişiklikleri çekmek için düğmeye usta dallanmak ana dal. silebilirsin usta şube, birleştirme işlemini tamamladıktan sonra, şube depoya ihtiyaç duymuyorsa.

Çözüm

Bu öğreticide, iki demo yerel depo kullanılarak değişiklikleri bir daldan diğerine çekmenin iki farklı yolu gösterilmiştir. NS saklamak ve Git Burada görevi yapmak için git komutları kullanılmıştır. Bu öğreticide GitHub Masaüstü, dalları grafiksel olarak birleştirmenin yolunu göstermek için kullanılmıştır.