2011-01-30 13 views
7

Bunları svn adımları Say: İlk 'foo' kullanarak svn içeriğini görmek istiyorsanızGit, svn'nin peg revizyonuna eşdeğerdir (veya buna ihtiyaç duyar mı)?

rev 1: create a file called 'foo' 
rev 2: delete 'foo' 
rev 3: create a new file called 'foo' 

, geleneksel sözdizimi 'beri peg revizyon sözdizimi 'svn cat [email protected]' kullanmanız gerekir svn cat -r 1 foo 'başarısız olur.
Git ve içeriği değil, dosyaları izlediğimi okudum, bu da peg revizyonu gibi bir şeye gerek olmadığı anlamına mı geliyor? o "Rev1" olduğu gibi

cevap

8
git show HEAD~1:/path/tp/foo 

size (not: Eğer Git repo kök dizininden, dosyanın tam yolunu belirtmeniz gerekir) dosyasının içeriğini gösterecektir

As "Restore a deleted file in a Git repo" bölümünde belirtildiği gibi, bir dosyanın önceki bir sürümünü hızlı bir şekilde bir geri ödeme ile geri yükleyebilirsiniz.

git checkout $(git rev-list -n 1 HEAD -- "$file")^ -- "$file" 

+6

Temelde her zaman git'e ($file akım Git repo kök dizininde dosyanın tam yolunu olma. Ile) 1' @ svn kedi foo 'eşdeğer yapar. Linus muhtemelen svn cat -r 1 foo'nun davranışını svn'nin başarısızlıklarından bir diğeri olarak görecektir. (Ben de yaptım) – Arrowmaster

İlgili konular