SORU
24 Mart 2010, ÇARŞAMBA


Geri alma git reset?

Bu geri almak için en basit yolu nedir

git reset HEAD~

komut? Şu anda aklıma gelen tek yol "git clone" uzak bir repo dan.://... http yapıyor

CEVAP
28 Mart 2010, Pazar


Kısa cevap:

git reset HEAD@{1}

PoshGit/Powershell kullanıcılar:

git reset 'HEAD@{1}'

Uzun cevap:

Git tüm ref güncellemeleri kaydını (örneğin, çıkış, reset, tamamlama, birleştirme) tutar. Yazarak görebilirsiniz:

git reflog

Bir yerlerde bu listede kaybettiğin işlemek. Hadi sadece git reset HEAD~ yazılı ve bunu geri almak istediğini söylüyor. Benim reflog bu gibi görünüyor:

$ git reflog
3f6db14 HEAD@{0}: HEAD~: updating HEAD
d27924e HEAD@{1}: checkout: moving from d27924e0fe16776f0d0f1ee2933a0334a4787b4c
[...]

İlk satırı o HEAD 0 pozisyon önce (diğer bir deyişle, geçerli konum) 3f6db14; HEAD~ sıfırlama tarafından alındığını söylüyor. İkinci satır (diğer bir deyişle, sıfırlamadan önce devlet) d27924e önce 14* *1 pozisyon olduğunu söylüyor. Belirli bir taahhüt, bu önemli değil gerçi () kontrol ederek alındı. Yani sıfırlama git reset HEAD@{1} çalışma geri almak için (ya da git reset d27924e).

Eğer, diğer yandan, yaptığın çalışma bazı diğer komutları o zamandan beri bu güncelleştirme BAŞ, işlemek istediğiniz olmayacak en üstünde liste ve gerek arama reflog.

Son bir not: BM-sıfırlamak için, ana, HEAD yerine de ki: belirli bir şube için reflog bakmak daha kolay olabilir

$ git reflog show master
c24138b master@{0}: merge origin/master: Fast-forward
90a2bf9 master@{1}: merge origin/master: Fast-forward
[...]

Bu daha genel olarak daha az gürültü HEAD reflog olmalıdır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:
Git

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ElChakotay Andrich

    ElChakotay A

    10 EKİM 2013
  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • Joshua Bane

    Joshua Bane

    24 Temmuz 2007