SORU
4 Mart 2009, ÇARŞAMBA


Nasıl Gıt belirli revizyon tek bir dosya almak için?

Git deposu var ve bazı dosya birkaç ay önce nasıl göründüğünü görmek istiyorum. O tarihte revizyon buldum: 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8. Bir dosya gibi görünüyor ve aynı zamanda bir dosyaya kaydetmek ne yaptığını görmek istiyorum.

Dosya gitk kullanarak görmeyi başardım ama bunu kaydetmek için bir seçenek yok. Komut satırı araçları ile, oldu en yakın çalıştım:

git-show 27cf8e84bb88e24ae4b4b3df2b77aab91a3735d8 my_file.txt

Ancak, bu komut bir fark ve dosya içeriğini gösterir. Daha sonra PAGER=cat ve bir dosyaya çıktı yönlendirmek gibi bir şey kullanabilirsiniz biliyorum, ama gerçek dosya içeriğini almak için nasıl bilmiyorum.

Temelde, gibi bir şey arıyorumsvn kedi.

CEVAP
4 Mart 2009, ÇARŞAMBA


Kendi cevap tamamlamak için, sözdizimi gerçekten

git show object
git show $REV:$FILE
git show somebranch:from/the/root/myfile.txt
git show HEAD^^^:test/test.py

Komut revizyon her zamanki tarzı, aşağıdakilerden birini kullanabilirsiniz anlam kazanıyor:

  1. isim (ash suggested) Şubesi
  2. HEAD x ^ karakter sayısı
  3. Belirli bir revizyon SHA1 karması
  4. İlk birkaç (belki 5) verilen SHA1 karma karakter

İpucuÖnemli kullanırken hatırlamak "git show",her zaman depoyu kökünden bir yol belirtingeçerli dizin pozisyon değil.

Mike Morearty bahseder rağmen (en azından 1.7.5.4, koyarak göreli bir yol belirleyebilirsiniz git "./" yolun başında örneğin:--

git show HEAD^^:./test.py

)


Git1 önce.5.x, bazı sıhhi tesisat ile yapılmadı

git ls-tree <rev>
bir veya daha fazla listesi 'blob' içindeki nesneleri işlemek göster

git cat-file blob <file-SHA1>
belirli bir revizyon içinde (benzer svn işlendiği dosya kedi kedi). ls-ağaç gıt bir dosya sha1 verilen değerini almak için kullanın

git cat-file -p $(git-ls-tree $REV $file | cut -d " " -f 3 | cut -f 1)::

git-mi-ağaç listeleri nesne KİMLİĞİ için $dosya revizyon $REV, bu kesim dışarı çıktı ve kullanılan argüman olarak git-kedi-dosya, gerçekten adı git-kedi-nesne, ve sadece döker nesneye stdout.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • cdgotx

    cdgotx

    8 Kasım 2011
  • Eddie Bravo

    Eddie Bravo

    17 EKİM 2006
  • Friday Night Cranks

    Friday Night

    27 Mayıs 2007