SORU
20 Mayıs 2009, ÇARŞAMBA


git-ödeme yeni bir adla bir dosya eski revizyon

"main.cpp" benim düzenleyicisinde açın. dosya var

"main.cpp" düzenleyici de. önceki revizyon görmek istiyorum

Şimdi şeklim böyle.

close "main.cpp" in the editor

prompt> mv main.cpp tmp
prompt> git checkout HEAD^ main.cpp
prompt> mv main.cpp old_main.cpp
prompt> mv tmp main.cpp
prompt>

open "main.cpp" and "old_main.cpp" in the editor

Basitleştirilmiş, kapatmak zorunda kalmayayım "" editor? main.cpp olabilir

Umut ediyorum bunu yapabilecek git-checkout bir türevidir.


GÜNCELLEME: im mac OS X 10.5.7 üzerinde gıt kullanarak

prompt> git --version
git version 1.6.0.4
prompt> 

UPDATE2: Jakob Narębski cevap:

prompt> git show HEAD^:dir1/dir2/dir3/main.cpp > old_main.cpp
prompt>

UPDATE3: belirli bir revizyon için: Karmi cevabı

prompt> git show 4c274dd91dc:higgs/Higgs.xcodeproj/project.pbxproj > old_project.pbxproj
prompt> 

CEVAP
20 Mayıs 2009, ÇARŞAMBA


Kullanabilirsiniz "show" için: . gıt

prompt> git show HEAD^:main.cpp > old_main.cpp

Kolon ':' HEAD^ arasındaki karakter ve main.cpp`.) (not "&; revizyon> lt;:&; yol> lt;git rev-parse kılavuz, son noktaya gelecek açıklanmıştır" bölüm: . "revizyonlar Belirtme>em

  • <rev>:<yolu> örneğin BAŞ:README, :README usta:./README

    Bir sonek : ağaç gibi nesne önce iki nokta üst üste bölüm tarafından adlı bir yol isimleri tarafından verilen yolda blob veya ağaç izledi. :path (kolon önce boş bir bölüm ile) sözdizimi sonra açıklanan özel durum: içeriği verilen yolda dizinde kaydedilir.

    Bir yolu ./ ../ ile başlayan geçerli çalışma dizinine göre. Verilen yol çalışma ağaç kök dizini ile ilişkili olduğu dönüştürülecektir. Bu en yararlı çalışma ağaç aynı ağaç yapısı olan bir taahhüt ya da ağaçtan blob ya da bir ağaç hitap etmektir.

Unutmayın "&; yol> lt;" buradaTAMyol göreüst dizinprojenin, yani dizin .git/ dizin ile. (Ya da daha kesin olmak "&; revizyon> lt;"(genel olarak herhangi biri olabilir&; ağaç-ish> lt;ağaç temsil eder , yani bir şey))

Eğer yolu geçerli dizin göreli olarak kullanmak istiyorsanız, kullanmak gerekir "./<yolu>" (ya da "../<yolu>" geçerli dizin gitmek). sözdizimi

2015-01-15 düzenleme:göreli yol ile ilgili bilgiler eklendi sözdizimi


Çoğu durumda, aynı çıkış düşük seviye kullanarak (sıhhi tesisat) alabilirsiniz git cat-file komut:

prompt> git cat-file blob HEAD^:main.cpp > old_main.cpp

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • funbro1

    funbro1

    11 Aralık 2007
  • vgeller1

    vgeller1

    22 Kasım 2009
  • Vsauce

    Vsauce

    30 Temmuz 2007