medyauzmani.com

Git’te tek tek dosya ve klasörlerin eski sürümü nasıl düşürülür?

Git, kod tabanınızın herhangi bir sürümünü izlemek için güçlü bir araçtır ve genellikle geri dönüp dosyaların eski sürümlerini geri yüklemek gerekir. Git, tüm taahhütleri geri alabilir veya tüm depoyu sıfırlayabilir, ancak tek bir dosya veya dizindeki değişiklikleri de geri alabilir.

geri yükle ve sıfırla

Normalde, bir taahhüt “geri alındığında” Git, zıt değişiklikleri uygulayan ve etkili bir şekilde iptal eden yeni bir taahhüt uygular. Bu, bir hata yaptıysanız ve geçmişte olmasına rağmen bu taahhüdü “silmeniz” gerekiyorsa kullanışlıdır.

Depo sıfırlama biraz farklıdır. Ancak, bir seferde yalnızca bir taahhüdü geri alabilirsiniz. git reset, Git, deponun durumunu bu taahhüdün yapıldığı zamana göre tamamen değiştirecektir. Bu, genellikle taahhütleri kaldırmak veya şube geçmişini geri yüklemek için çeşitli nedenlerle yapılır.

Her iki işlem de deponun tamamında çalışır, ancak aynı eylemleri tek tek dosya veya klasörlerde gerçekleştirmek için benzer komutları da kullanabilirsiniz. Örneğin, kullan git reset Tek bir dosyada, o dosyayı taahhüt yapıldığında olduğu gibi geri yükleyecektir. Git geçmişinizden bir dosyanın daha eski bir sürümünü almak istiyorsanız bu kullanışlıdır.


İlişkili: Git Sıfırlama gerçekte nasıl çalışır? Yumuşak, sabit ve hibrit sıfırlamaları açıklama

İlişkili: Git taahhütlerini onarın, düzenleyin veya geri alın (Git geçmişini değiştirmeyin)

Git’te eski sürümleri görüntüleyin

Bir dosyayı geri döndürmenin düşük teknolojili çözümü oldukça basittir: Github ve diğer Git sunucularının çoğu dosya geçmişinizi takip eder ve bir günlüğe tıklayıp “Dosyalara Göz Atın, Anlık Görüntü Almak İçin Tıklayın” seçeneğine tıklayabilirsiniz. deponuz zamanında. Daha sonra dosyayı indirebilir veya metni kopyalayabilirsiniz.


Bu, özellikle büyük kod dosyalarıyla çalışıyorsanız ve yazdığınız işlevlerin eski sürümlerini görüntülemek istiyorsanız kullanışlıdır. Bu durumda, muhtemelen her şeyi geri almak istemezsiniz, sadece tek işi. Git CLI’ye dokunmadan bu işlevin kodunu kopyalayabilirsiniz.

Git’te bir dosyayı daha eski bir sürüme sıfırlama

Bu test deposunda, README’yi düzenleyen ve yeni bir dosya ekleyen bir taahhüt oluşturduk. README’de yapılan değişiklikleri geri almak istiyoruz, ancak tüm depoyu orijinal taahhüde geri döndürmek istemiyoruz.

Çözüm, bu dosyanın daha eski bir sürümünü kontrol ederek README’yi sıfırlamaktır. portallar checkout Komut, dallar arasında geçiş yapmak gibi pek çok şey yapar, ancak esas olarak kesinleştirme veya dal kimliğini kullanarak dosyaları indirmek için kullanılır.

Bir dosyayı eski bir sürüme geri döndürmek için, sıfırlamak istediğiniz zamanın taahhüt kimliğini bulmanız gerekir. kullanabilirsiniz git log Bunun için, yalnızca o dosyadaki değişiklikleri görüntülemek için tek bir dosya ile sınırlıdır:

git log README.md

Yürütme kimliğini kopyalayın, ardından çalıştırın git checkout Kimlik ve dosya yolu ile:

git checkout 22710694b25d7ce5297559851beb7d3e4de811bb README.md

Bu, dosyayı tekrar değiştirecek, ancak değişiklikler henüz kaydedilmeyecek. Hazır olduğunuzda düzenlemekte ve yakalamakta özgürsünüz.

Bu örnekte, git checkout Değişiklikler bir sonraki taahhüt için hazırlanır. Taahhüt etmek istemiyorsanız, değişiklikleri geri almakta özgürsünüz. Bu, dosyaların eski sürümlerini Github kullanmadan geçici olarak indirmek için yararlı olabilir.


Tek tek dosyalarda yapılan değişiklikleri geri alın

Benzer şekilde, tek bir işlemdeki değişiklikleri geri almak isterseniz, bunu şu şekilde yapabilirsiniz: git revert. Bunu tek bir dosyaya uygulamanın bir yolu yoktur, ancak işlem diğer dosyaları etkiliyorsa değişiklikleri iptal edebilirsiniz.

kullanımlar --no-commit Git’in otomatik olarak oluşturduğu “geri alma taahhüdünün” değiştirilmesine izin veren bayrak.

git revert de8564b131ca6a15a7e7c73f5ef156b119cc0b93

Geri yükleme tamamlanmadan önce dosyaların üzerine yazmanıza olanak tanır. İstenmeyen değişiklikler yapılırsa, bunları müşteriniz aracılığıyla veya bir dosyada gönderebilirsiniz. git checkout.

git checkout -- file

kaynak bağlantı


Diğer gönderilerimize göz at

[wpcin-random-posts]

Yorum yapın