Git ile Nasıl Yapılır: Geri Alma İşlemi

Git deponuzda değişiklik yapıyorsanız ve bir hata yaptıysanız, iş akışınızı tekrar izlemek için taahhütlerinizi geri almanın bir yolunun olduğunu bilmek her zaman iyidir. Bu kılavuzda, bir depoya yerel ve uzak taahhütler için git revert komutuna bakacağız.


Gitmeden önce git reset ve git revert arasındaki farkı anlamak önemlidir.

Git revert Avantajları git git reset

Geri döndürmenin sıfırlamaya göre iki önemli avantajı vardır:

  • Geri döndürme proje geçmişini değiştirmez, bu da onu zaten paylaşılan bir depoya itilmiş olan taahhütler için daha güvenli bir işlem yapar.
  • Geri alma işlemi, geçmiş sıfırlama işlevini rasgele bir noktada hedeflerken, git reset’i kullanırsanız, sadece mevcut taahhütten geriye doğru çalışabilir.

Git revert Komutunu Geri Alma Komutunu Kullanma

Git revert için komut sözdizimi:

1 git geri döndür

Git’in anladığı desteklenen taahhüt kimliği formlarından herhangi birinde açıklandığı yer.

Yerel Git geçmişini steno taahhüt kimlikleriyle görmek için git reflog’u kullanabilir veya tüm taahhütlü Git geçmişi için daha uzun biçimli SHA-1 taahhüt kimliklerini bulmak için git günlüğünü kullanabilirsiniz.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

$ git reflog

bc32b0d HEAD @ {0}: taahhüt: contact-us.htm eklendi

ead83d9 HEAD @ {1}: taahhüt: blog.htm eklendi

 
 

$ git günlüğü

taahhüt bc32b0d8a583ccc3b0bcc9fbdfe3c7bbd1b4f0d1

Yazar: Kullanıcı < [email protected]>

Tarih: Sal 10 Şub 12:38:32 2015 -0500

 

    Contact-us.htm eklendi

 

taahhüt ead83d9f1d800de241580070d22a17f769ea7866

Yazar: Kullanıcı < [email protected]>

Tarih: Sal 10 Şub 12:38:00 2015 -0500

 

    Blog.htm eklendi

Git reflog komutu, yerel deponuzda yaptığınız her şeyin kronolojik bir geçmişini kaydeder. Tam çıktısı şöyle görünebilir:

1
2
3
4
5

bc32b0d HEAD @ {1}: taahhüt: contact-us.htm eklendi

ead83d9 HEAD @ {2}: taahhüt: blog.htm eklendi

1a890e7 HEAD @ {3}: taahhüt: about-us.htm eklendi

bf58ea1 HEAD @ {4}: taahhüt: index.htm eklendi

5c66257 HEAD @ {5}: taahhüt (ilk): README.md eklendi

Durum 1: Tek, Yerel Git İşlemini Geri Alma

Şimdi diyelim ki projenize bir contact-us.htm dosyası eklediğiniz için artık about-us.htm dosyasına gerçekten ihtiyacınız olmadığını fark ettiniz..

Bu taahhüdü yaptığınız zamana geri dönebilir ve aşağıdakileri yaparak bundan sonraki tüm değişiklikleri koruyabilirsiniz:

1 git revert 1a890e7

Git, bu geri alma taahhüdü için size yeni bir not soracak ve size varsayılan olarak şunları verecektir:

1
2
3

Geri Al "About-us.htm eklendi"

 

Bu reverts taahhüt 1a890e7980283e348cde0444cabe709f6342a851.

Devam edin ve bu notu kaydedin veya geri dönüşü tamamlamak için kendi notunuzu oluşturun:

1
2
3

[master 2bbaed3] Geri dön "About-us.htm eklendi"

1 dosya değişti, 1 silme (-)

100644 about-us.htm silme modu

Bu belirli bir yerel taahhüdü geri alacaktır. Daha yeni taahhütler ve Git geçmişi korunur.

1
2
3
4
5
6
7
8
9
10

$ git reflog

2bbaed3 KAFA @ {0}: geri döndür: Geri döndür "About-us.htm eklendi"

bc32b0d HEAD @ {1}: taahhüt: contact-us.htm eklendi

ead83d9 HEAD @ {2}: taahhüt: blog.htm eklendi

1a890e7 HEAD @ {3}: taahhüt: about-us.htm eklendi

bf58ea1 HEAD @ {4}: taahhüt: index.htm eklendi

5c66257 HEAD @ {5}: taahhüt (ilk): README.md eklendi

 

$ ls

blog.htm temas us.htm index.htm README.md

Durum 2: Çeşitli Yerel Git İşlemlerini Geri Alma

“1a890e7” ile “HEAD” arasındaki tüm yerel eylemleri geri almak için aşağıdakileri kullanın:

1 git revert 1a890e7..HEAD

Durum 3: Aktarılan Git İşlemini Geri Alma

Uzak depoyu kontrol ettikten sonra, önce git revert’ı kullanabilir ve sonra her zamanki gibi itebilirsiniz:

1
2

git geri döndür 1a890e7980283e348cde0444cabe709f6342a851

git itme kaynağı

Durum 4: İtilmiş Bir dizi Git Taahhütünü Geri Döndürme

Ayrıca bir dizi itilmiş taahhüdü geri alabiliriz:

1
2

git revert 1a890e7980283e348cde0444cabe709f6342a851..ead83d9f1d800de241580070d22a17f769ea7866

git itme kaynağı

Sadece hızlı bir yerel taahhüt geri almak gerekiyor? Git reset kullan

Bazen hızlı, yerel bir hata yaparsanız git revert kullanmak istemeyeceksiniz ve bunun yerine git reset kullanmak isteyebilirsiniz.

Her iki durumda da, umarım Git ile yanlışlıkla yaptığınız kötü bir taahhüdü nasıl düzelteceğinizi anlamalısınız. İşlem ilk başta karmaşık ve korkutucu görünebilir, ancak işlemi birkaç kez geçtikten sonra anlamak oldukça kolaydır..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Adblock
    detector