Sürüm kontrolü yazılımı olarak Git, değişiklikleri geri almayı öngörülebilir şekilde kolaylaştırır. Ancak bir değişikliği geri alma kavramı bile ilk düşündüğünüzden daha karmaşıktır. Git deposu, yerel olarak üzerinde çalıştığınız dosya grubuyla tamamen aynı şey değildir. Değişiklikleri geri almak, onları tam olarak nerede geri almak istediğinizi düşünmek anlamına gelir.
gitödeme, git sıfırlama, ve gitonarmak yalnızca kod tabanınızın değil, aynı zamanda tek tek dosyaların da önceki bir sürümüne geri dönmenize yardımcı olabilecek komutlardır. Bu komutların ayrıntılarını öğrenin ve kısa sürede bir uzman gibi dosya geçmişinizde gezineceksiniz.
Bir Dosyayı Sıfırlamak Ne Demektir?
Bir dosyayı sıfırlamanın, farklı koşullar altında farklı kişiler için farklı anlamlara gelebileceğini unutmamak önemlidir. Ayrıca git sıfırlama komutu, sıfırlamanın ne anlama geldiğine ilişkin beklentilerinizi karşılamayabilir.
Bazen, bir dosyanın mevcut depoyla tekrar senkronize olması için yerel değişiklikleri geri almak isteyebilirsiniz. Diğer durumlarda, depoda önceden taahhüt ettiğiniz değişiklikleri geri almak isteyebilirsiniz.
Aşağıdaki terimler farkı anlamanın anahtarıdır: çalışma ağacı, hazırlama alanı ve depo. Yerel olarak düzenlediğiniz dosyalar çalışma ağacına aittir. Taahhüt ettiğiniz dosyalar eninde sonunda depoda sona erer. Değişiklikleri toplama sürecindeyken, dosyaları hazırlarsınız. Bir dosyanın bu konumların her birinde farklı içerikleri olabilir.
Ayrıca bakınız: Gelişmiş Git Eğitimi
Bir dosyayı sıfırlamayı, değişiklikleri geri almak olarak düşünebilirsiniz. Ancak dosyanızın durumu, gerçekte hangi değişiklikleri geri alacağınızı belirleyecektir. Bariz durum, bazı değişiklikler yaptığınızda, bunları taahhüt ettiğinizde ve daha sonra artık onları istemediğinize karar verdiğinizde.
Başka bir durum, bir dosyayı hazırlamış olmanız ve şimdi onu sahneden kaldırmak istemeniz olabilir.
Önceden Taahhüt Edilen Bir Dosyayı Nasıl Geri Alabilirim?
Anlaması daha kolay bir vakayı ele alalım: Bir dosya işlediniz ve şimdi değişiklikleri geri almak istiyorsunuz.
Bunu yapmak için Git komutu, biraz sezgisel olmayan bir şekilde adlandırılmıştır. ödeme. kullanmış olabilirsin ödeme dalları değiştirmeden önce, ancak bu, komutun yapabileceklerinin küçük bir kısmı. Ayrıca, çalışma ağacınızdaki dosyaları, depo tarihinin herhangi bir noktasındaki dosyalarla eşleşecek şekilde güncellemenizi sağlar. Bunu belirli bir etiket, dal ve hatta belirli bir taahhüt için yapabilirsiniz.
Bu komutun en kullanışlı, genel amaçlı biçimi şudur:
git checkout [taahhüt kimliği] -- yol/dosya/dosya
Burada belirli bir yoldan geçiyoruz (yol/dosya/dosya) bu yalnızca tek bir dosyayı tanımlar. Ayrıca dosyayı söz konusu kesinleştirmede olduğu gibi almak için bir kesinleştirme kimliği de belirtiyoruz. Bu komut, dosyayı yalnızca çalışma ağacımızda güncelleyecektir.
Dosyanın önceki bir sürümünü teslim almanın, çalışan kopyayı taahhüt etmeden ve hatta hazırlamadan değiştirdiğini unutmayın. Depoya geri almayı tamamen tamamlamak için dosyayı hazırlamanız ve yeni bir taahhüt oluşturmanız gerekir.
Ayrıca bakınız: git log ile bir projenin geçmişi nasıl incelenir
Hazırladığım Şeyi Nasıl Değiştiririm?
Diğer geri alma türü, hazırlama alanınızı içerir. Bu, deponun yanında yapacağınız değişiklikleri içerir. Bir dosyanın bir sürümünü düzenlediyseniz ve daha sonra onu bir sonraki işleme dahil etmek istemediğinize karar verdiyseniz, önce onu sahneden çıkarmak isteyeceksiniz.
kullanabilirsiniz git sıfırlama aşamalı bir dosyanın aşamasını kaldırmak için komut:
git reset HEAD yolu/dosyası
Yerel Değişiklikleri Hızla Geri Alabilir miyim?
Evet, yerel bir dosyada yapılan değişiklikleri, hazırlanmadan önce geri alabilirsiniz. Aşağıdaki komutu kullanın:
git checkout -- yol/dosya/dosya
Bunun bir depo değişikliğini geri almaya benzer olduğunu unutmayın, yalnızca taahhüt kimliğini atlar. Bu komutu yürüttüğünüzde Git, çalışan kopyanızdaki tüm değişiklikleri geri alacaktır.
Git geri yükleme hakkında ne?
Git'in sonraki sürümlerinde daha yeni bir komut bulunur: onarmak. Burada tartıştığımız basit durumlar için aşağıdaki eşdeğerleri kullanabilirsiniz. Depodaki bir değişikliği geri almak için:
git restore --source [kimliği taahhüt et] yol/to/dosya
Bir dosyayı sahneden kaldırmak için şunu kullanın:
git restore -- aşamalı yol/dosya/dosya
Ve çalışan kopya değişikliklerini geri almak için:
git geri yükleme yolu/dosyası
Git'in Sürüm Oluşturma Gücünde Uzmanlaşmak Çok Değerlidir
Bir dosyayı sıfırlamak sık yapılan bir şey gibi görünse de, pratikte bunun oldukça nadiren gerçekleştiğini göreceksiniz. Tek tek dosyalar yerine tüm taahhütleri geri almanız daha olasıdır. Ancak, bunu yapmanız gereken durumlarda Git en azından bunu oldukça basit hale getirir.
Bir dosyayı bir taahhütten kaldırmak gibi işlemleri gerçekleştirmek için bu Git komutlarını kullanın.
Sonrakini Oku
- Programlama
- GitHub
- Web Geliştirme
- Programlama

Bobby, yirmi yıldan fazla bir süredir yazılım geliştiricisi olarak çalışan bir teknoloji tutkunu. Oyun konusunda tutkulu, Switch Player Magazine'de Genel Yayın Yönetmeni olarak çalışıyor ve çevrimiçi yayıncılık ve web geliştirmenin tüm yönleriyle ilgileniyor.
Haber bültenimize abone ol
Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!
Abone olmak için buraya tıklayın