SORU
19 AĞUSTOS 2011, Cuma


Nasıl gönderim iletisi ile Git deposu arama için?

GIT mesaj kaydetme ile bazı kaynak kodu kontrol ettim "0051" Kurmak.

Ancak, bu kaynak kodunu bulmak için herhangi bir daha görünmüyor olabilir - nasıl GİT deposu bu kaynak, Komut satırını kullanarak ayıklama?

Güncelleme

  1. Sürüm 0043, 0044, 0045 0046 ve SmartGİT kullanarak kontrol etti.
  2. 0043, ve sürümleri kontrol farklı bir dalda 0051 kontrol ettim.
  3. Teslim 0043 yine.
  4. Şimdi, 0051 kayboldu.

Güncelleme

Kaynak kodu kesinlikle yoktu, şimdi onun bir kontrol meselesi:

C:\Source>git log -g --grep="0052"
commit 77b1f718d19e5cf46e2fab8405a9a0859c9c2889
Reflog: HEAD@{10} (unknown <Mike@.(none)>)
Reflog message: commit: 20110819 - 1724 - GL: Intermediate version. File version:  v0.5.0 build 0052.
Author: unknown <Mike@.(none)>
Date:   Fri Aug 19 17:24:51 2011  0100

    20110819 - 1724 - GL: Intermediate version. File version: v0.5.0 build 0052.

C:\Development>

Güncelleme

Kayıp kaynak kodu almak için aşağıdaki kullanılır:

C:\Source>git checkout HEAD@{10}
Previous HEAD position was aa09ace... 20110819 - 1045 - GL: Intermediate version. File     version: v0.5.0 build 0043.
HEAD is now at 77b1f71... 20110819 - 1724 - GL: Intermediate version. File version: v0.5.0 build 0052.

Şimdi, her şeyi SmartGit içinde yeniden görünür. Sorun çözüldü - siz en iyisi, özellikle @shelhamer!

CEVAP
19 AĞUSTOS 2011, Cuma


Arama belirli bir metin için günlük (tüm Şubeler arasında) kaydetme:

git log --all --grep='Build 0051'

Bir repo tarihi boyunca işleyen gerçek içeriği aramak için kullanın:

git grep 'Build 0051' $(git rev-list --all)

verilen metni içeren dosya adının tüm örneklerini göstermek, ve sha1 işlemek.

Nihayet işlerlerse, son çare sarkan ve bağlı tarihe değil, reflog kendisi -g bayrak (--walk-reflogs kısa ... yeni arama yapabilirsiniz

git log -g --grep='Build 0051'

Eğer geçmişini kaybetmiş gibisin, güvenlik ağınız olarak reflog Çek. EDİT: Bu taahhüt tarafından listelenen bir Yapı 0051 arayın

git reflog

Sadece '0051' kaydetme görünür değil, ya da aslında, darmadağın olabilir. İnşa HEAD tarihin bir parçası sizin için ayarlanmış olabilir git-ready reflog makale yardımcı olabilir.

Kurtarmak için bu reflog itibaren işlemek: buldun taahhüt edilen bir git çıkış (ve isteğe bağlı olarak referans için yeni bir şube ya da bir etiket olun)

git checkout 77b1f718d19e5cf46e2fab8405a9a0859c9c2889
# alternative, using reflog (see git-ready link provided)
# git checkout HEAD@{10}
git checkout -b build_0051 # make a new branch with the build_0051 as the tip

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Google

    Google

    18 EYLÜL 2005
  • TopOfTheTech

    TopOfTheTech

    5 NİSAN 2010
  • WK

    WK

    9 Ocak 2006