logo

Git Zulası

Bazen şube değiştirmek istersiniz ancak mevcut projenizin tamamlanmamış bir kısmı üzerinde çalışıyorsunuzdur. Yarım kalmış bir işi taahhüt etmek istemezsiniz. Git saklama bunu yapmanıza olanak sağlar. git stash komutu Mevcut şubeyi taahhüt etmeden şubeler arasında geçiş yapmanızı sağlar.

Aşağıdaki şekil depo ve çalışma dizinine ilişkin saklamanın özelliklerini ve rolünü göstermektedir.

Git Zulası

Genellikle zulanın anlamı ' bir şeyi gizli bir yerde güvenli bir şekilde saklamak .' Git'teki anlam stash için de aynıdır; Git, verilerinizi taahhütte bulunmadan güvenli bir şekilde geçici olarak kaydeder.

Saklama, çalışma dizininizin dağınık durumunu alır ve daha sonra kullanmak üzere geçici olarak kaydeder. Git stash ile birçok seçenek mevcuttur. Bazı yararlı seçenekler aşağıda verilmiştir:

    Git deposu Git saklama kaydetme Git saklama listesi Git saklama uygulaması Git saklama değişiklikleri Git saklama popu Git zulası düşüşü Git deposunu temizle Git saklama şubesi

Saklama İşi

Gerçek zamanlı bir senaryo ile bunu anlayalım. GitExample2 projemde iki farklı daldan iki dosyada değişiklik yaptım. Dağınık bir durumdayım ve henüz hiçbir dosyayı tamamen düzenlemedim. Bu yüzden gelecekte kullanmak üzere geçici olarak kaydetmek istiyorum. Mevcut durumu olarak kaydetmek için saklayabiliriz. Saklamak için deponun mevcut durumuna bir göz atalım. Havuzun mevcut durumunu kontrol etmek için git status komutunu çalıştırın. Git status komutu şu şekilde kullanılır:

css'de kalın yazı yazma

Sözdizimi:

 $ git status 

Çıktı:

Git Zulası

Yukarıdaki çıktıdan izlenmeyen iki dosyanın olduğu durumu görebilirsiniz. tasarım.css Ve yeni dosya.txt deposunda mevcuttur. Geçici olarak kaydetmek için git stash komutunu kullanabiliriz. Git stash komutu şu şekilde kullanılır:

Sözdizimi:

 $ git stash 

Çıktı:

Git Zulası

Verilen çıktıda git stash komutu ile çalışma kaydedilir. Deponun durumunu kontrol edebiliriz.

Git Zulası

Gördüğünüz gibi çalışmalarım şu anki konumunda saklanıyor. Artık dizin temizlendi. Bu noktada dallar arasında geçiş yapabilir ve üzerinde çalışabilirsiniz.

Git Stash Kaydet (Mesajla birlikte Stash'ları Kaydetme):

Git'te değişiklikler bir mesajla saklanabilir. Bir mesajı bir değişiklikle saklamak için aşağıdaki komutu çalıştırın:

Sözdizimi:

 $ git stash save '' 

Çıktı:

Git Zulası

Yukarıdaki zula bir mesajla kaydedilecek

Git Stash Listesi (Saklanan Stash'leri Kontrol Edin)

Saklanan depoları kontrol etmek için aşağıdaki komutu çalıştırın:

Sözdizimi:

 $ git stash list 

Çıktı:

Git Zulası

Yukarıdaki durumda, ' olarak görüntülenen bir zula oluşturdum. stash@{0}: Testte WIP: 0a1a475 CSS dosyası '.

Birden fazla zulamız varsa, o zaman sırasıyla tüm zulaları farklı zula kimlikleriyle görüntüler. Aşağıdaki çıktıyı göz önünde bulundurun:

Git Zulası

İndeksleme ile tüm saklanmaları şu şekilde gösterecektir: zula@{0}: zula@{1}: ve benzeri.

Git Stash Uygula

Git stash komutunu kullanarak az önce sakladığınız değişiklikleri yeniden uygulayabilirsiniz. Taahhüdü uygulamak için git stash komutunu ve ardından uygulama seçeneğini kullanın. Şu şekilde kullanılır:

Sözdizimi:

 $ git stash apply 

Çıktı:

Git Zulası

Yukarıdaki çıktı son zulayı geri yükler. Şimdi, eğer havuzun durumunu kontrol ederseniz, dosyada yapılan değişiklikleri gösterecektir. Aşağıdakileri göz önünde bulundurun çıktı:

Git Zulası

Yukarıdaki çıktıdan deponun stash'tan önceki durumuna geri döndüğünü görebilirsiniz. Çıktıyı şu şekilde gösteriyor: Taahhüt için hazırlanmayan değişiklikler .'

Birden fazla saklama durumunda, belirli bir taahhüdü uygulamak için 'git stash application' komutunu ve ardından stash indeks kimliğini kullanabilirsiniz. Şu şekilde kullanılır:

Sözdizimi:

 $ git stash apply 

Aşağıdaki çıktıyı göz önünde bulundurun:

Java alt dizesi örneği

Çıktı:

Git Zulası

Eğer bir zula belirtmezsek Git en güncel zulayı alır ve uygulamaya çalışır.

Git Stash Değişiklikleri

Zulaları ve değişikliklerini takip edebiliyoruz. Stash işleminden önce ve stash işleminden sonra dosyadaki değişiklikleri görmek için aşağıdaki komutu çalıştırın:

Sözdizimi:

 $ git stash show 

Yukarıdaki komut saklanan dosyayı ve üzerinde yapılan değişiklikleri gösterecektir. Aşağıdaki çıktıyı göz önünde bulundurun:

Çıktı:

Git Zulası

Yukarıdaki çıktı, saklanan iki dosyanın olduğunu ve bunlara iki ekleme yapıldığını göstermektedir.

Dosya üzerinde hangi değişikliklerin yapıldığını tam olarak takip edebiliyoruz. Dosyanın değiştirilen içeriğini görüntülemek için aşağıdaki komutu uygulayın:

Sözdizimi:

 $ git stash show -p 

Burada -p kısmi zulayı temsil ediyor. Verilen komut, düzenlenen dosyaları ve içeriği gösterecektir; aşağıdaki çıktıyı göz önünde bulundurun:

Çıktı:

Git Zulası

Yukarıdaki çıktı, içeriği değiştirilen dosya adını gösteriyor. git diff komutuyla aynı işlevi görür. git farkı komutu aynı zamanda tam çıktıyı da gösterecektir.

Git Stash Pop (Saklı Değişiklikleri Yeniden Uygulama)

Git, kullanıcının git stash pop komutunu kullanarak önceki taahhütleri yeniden uygulamasına olanak tanır. Açma seçeneği, değişiklikleri depodan kaldırır ve bunları çalışma dosyanıza uygular.

git stash pop komutu git stash application'a oldukça benzer. Bu komutların her ikisi arasındaki temel fark, uygulandıktan sonra zulayı yığından silen stash pop komutudur.

Sözdizimi:

 $ git stash pop 

Yukarıdaki komut, önceki taahhütleri depoya yeniden uygulayacaktır. Aşağıdaki çıktıyı göz önünde bulundurun.

kat timpf ağırlığı

Çıktı:

Git Zulası

Git Stash Bırakma (Stash'ı Kaldırma)

git zula düşüşü komutu kuyruktan bir zulayı silmek için kullanılır. Genellikle en son saklananları siler. Stash drop komutunu kullanmadan önce dikkatli olunmalıdır çünkü bir kez uygulandığında geri alınması zordur.

Bunu geri almanın tek yolu, zulayı sildikten sonra terminali kapatmamanızdır. Stash drop komutu şu şekilde kullanılacaktır:

Sözdizimi:

 $ git stash drop 

Çıktı:

Git Zulası

Yukarıdaki çıktıda, en son zula (saklama@{0}) Verilen üç zuladan düşürüldü. Stash list komutu kuyruktaki mevcut tüm zulaları listeler.

Ayrıca belirli bir zulayı kuyruktan da silebiliriz. Mevcut zulalardan belirli bir zulayı silmek için, zula bırakma komutunda zula kimliğini iletin. Şu şekilde işlenecektir:

erkek arkadaşlar için bir şeyler

Sözdizimi:

 $ git stash drop 

Kuyruğumda iki zula bulunduğunu ve en yeni zulamı bırakmak istemediğimi, ancak eskisini silmek istediğimi varsayalım. Daha sonra şu şekilde çalıştırılacaktır:

 $ git stash drop stash@{1} 

Aşağıdaki çıktıyı göz önünde bulundurun:

Git Zulası

Yukarıdaki çıktıda, taahhüt sakla@{1} kuyruktan silindi.

Git Stash Temizle

git saklanmasını temizle komutu, mevcut tüm depoların bir kerede silinmesine izin verir. Mevcut tüm depoları silmek için aşağıdaki komutu çalıştırın:

Sözdizimi:

 $ git stash clear 

depoda bulunan tüm depoları silecektir.

Çıktı:

Git Zulası

Yukarıdaki çıktıda tüm saklamalar silinir. Git stash list komutu boş çünkü depoda kullanılabilir saklama alanı yok.

Git Stash Şubesi

Belirli bir dalda bazı işleri sakladıysanız ve o dalda çalışmaya devam ederseniz. Daha sonra birleştirme sırasında çakışma meydana gelebilir. Bu nedenle işi ayrı bir dalda saklamak iyidir.

git stash Branch komutu, çakışmaları önlemek için kullanıcının çalışmayı ayrı bir dalda saklamasına olanak tanır. Bu dalın sözdizimi aşağıdaki gibidir:

Sözdizimi:

 $ git stash branch 

Yukarıdaki komut yeni bir dal oluşturacak ve saklanan çalışmayı bunun üzerine aktaracaktır. Aşağıdaki çıktıyı göz önünde bulundurun:

Çıktı:

Git Zulası

Yukarıdaki çıktıda, saklanan çalışma yeni oluşturulan bir şube testine aktarılır. Ana daldaki birleştirme çakışmasını önleyecektir.