2011-01-30 8 views
7

내가이 SVN의 단계에 따라 말 : 내가 처음 'foo'를 사용하여 SVN의 내용을 보려면git에는 svn의 페그 리비전과 동등한 것이 있습니까?

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

을, 나는 전통적인 문법 '이후 페그 개정 구문'svn cat [email protected] '를 사용해야합니다 svn cat -r 1 foo '이 실패합니다.
나는 git이 파일이 아닌 내용을 추적한다는 것을 읽었으므로 말뚝 개정과 같은 것이 필요하다는 것을 의미합니까? 그것은 "rev1"있다는

답변

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

당신에게 (참고 : 당신이 망할 놈의 repo의 루트 디렉토리에서 파일의 전체 경로를 지정해야합니다) 파일의 내용을 표시합니다

로 "Restore a deleted file in a Git repo"에 언급하면 ​​체크 아웃을 통해 이전 버전의 파일을 빠르게 복원 할 수 있습니다.

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

+6

는 기본적으로 항상 이눔 ($file 현재 망할 놈의 repo의 루트 디렉토리에서 파일의 전체 경로 인.로) 1' @ SVN 고양이 foo는'에 해당하는 작업을 수행합니다. Linus는 아마도'svn cat -r 1 foo'의 동작을 svn의 실패 중 또 하나라고 생각할 것입니다. (나도 그래) – Arrowmaster