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

  • bunliu

    bunliu

    2 Mayıs 2007
  • cosmicrocketman

    cosmicrocket

    17 NİSAN 2006
  • TheForgottenGamer1

    TheForgotten

    28 AĞUSTOS 2009