자신의 답변을 완성하기 위해 구문은 실제로
git show object
git show $REV:$FILE
git show somebranch:from/the/root/myfile.txt
git show HEAD^^^:test/test.py
이 명령은 일반적인 수정 스타일을 사용하므로 다음 중 하나를 사용할 수 있습니다.
- 지점 이름 (같은 제안 에 의해 재 )
HEAD
+ x ^
자
- 주어진 개정의 SHA1 해시
- 주어진 SHA1 해시의 처음 몇 문자 (아마도 5 자)
팁 " git show
" 를 사용할 때는 항상 현재 디렉토리 위치가 아닌 저장소 루트의 경로를 지정 하십시오.
( Mike Morearty 는 적어도 git 1.7.5.4에서는 경로 ./
의 시작 부분에 " "를 넣어 상대 경로를 지정할 수 있다고 언급합니다. 예를 들면 다음과 같습니다.
git show HEAD^^:./test.py
)
Git 2.23+ (2019 년 8 월)에서는 혼동 명령git restore
을 대체 할 수 있습니다.git checkout
git restore -s <SHA1> -- afile
git restore -s somebranch -- afile
이것은 "source"( -s
) commit SHA1 또는 branch에 있는 파일 만 작업 트리에서 복원합니다 somebranch
.
색인도 복원하려면 다음을 수행하십시오.
git restore -s <SHA1> -SW -- afile
( -SW
: 짧음 --staged --worktree
)
git1.5.x 이전에는 약간의 배관 작업이있었습니다.
git ls-tree <rev>
커밋 내에서 하나 이상의 'blob'객체 목록 표시
git cat-file blob <file-SHA1>
특정 개정판 내에서 커밋 된 파일 (svn cat과 유사) git ls-tree를 사용하여 주어진 파일의 값을 검색하십시오
git cat-file -p $(git-ls-tree $REV $file | cut -d " " -f 3 | cut -f 1)::
git-ls-tree는 $ REV 개정판에서 $ file에 대한 객체 ID를 나열합니다. 이것은 출력에서 잘라내어 git-cat-file에 대한 인수로 사용되며, 실제로는 git-cat-object라고하며 덤프 만합니다. stdout에 해당 객체.
참고 : Git 2.11 (Q4 2016)부터 git cat-file
출력에 콘텐츠 필터를 적용 할 수 있습니다 !
참조 3,214,594 커밋 , 7bcf341 커밋 (2016 9월 9일)를 7bcf341 커밋 (2016 년 9 월 09), 및 b9e62f6 커밋 , 16dcc29 커밋 에 의해 (2016년 8월 24일) 요하네스 Schindelin을 ( dscho
) .
( Junio C gitster
Hamano 에 의해 합병 -- 커밋 7889ed2 , 2016 년 9 월 21 일)
cat-file
: 지원 --textconv
/ --filters
배치 모드
git hash-objects
온 파일 시스템 데이터 스트림을 가져 와서 Git 객체 저장소에 넣는 도구 인 ""( ")가"out-world-to-Git "변환 (예 : end-of-line 변환 및 응용 프로그램)을 수행 할 수 있음에도 불구 하고 이 필터는 초기 초기부터 기본적으로 기능이 설정되어 있으며 역 작업 " git cat-file
"은 Git 객체 저장소에서 객체를 가져와 외부 세계의 소비를 위해 외부화합니다. "Git-to-Outside World"를 운영
git config diff.txt.textconv "tr A-Za-z N-ZA-Mn-za-m <"
git cat-file --textconv --batch
참고 : " git cat-file --textconv
"최근에 segfaulting을 시작했습니다 (2017). Git 2.15 (2017 년 4 분기)에서 수정되었습니다.
Jeff King ( )의 커밋 cc0ea7c (2017 년 9 월 21 일)를 참조하십시오 . (의해 병합 Junio C 하마노 - - 에 커밋 bfbc2fc 28 구월 2017)peff
gitster
과거의 내용으로 파일 을 덮어 쓰거나 바꾸려면 더 이상 혼란스러운 git checkout
명령을 사용 하지 말고 git restore
(Git 2.23+, 2019 년 8 월)
git restore -s <SHA1> -- afile
그러면 "소스"( -s
) 커밋 SHA1에 있는 파일 만 작업 트리에서 복원됩니다 .
색인도 복원하려면 다음을 수행하십시오.
git restore -s <SHA1> -SW -- afile
( -SW
: 짧음 --staged --worktree
)
git show
(무의미한) 콜론과 다른 구문을 사용합니다.git show 2c7cf:my_file.txt