깃 (git) 을 볼 수 있나요 (command) (통칭 '또는' 또는 '$ $ 편집기에는 호출기는 덤프했습니다 stdout 에') 특정 버전의 특정 파일?
'쇼' 깃 (git) 을 사용할 수 있습니다.
$ git show REVISION:path/to/file
복귀시킴 수정번호 본인의 실제 수정번호 (이상이 될 수 있으며 Git 커밋합니다 SHA, 태그 이름, 분기로의 이름, 이름, 또는 다른 방법으로 상대 커밋합니다 커밋합니다 깃 (git) 에서 확인)
예를 들어, '에서' 4 전 버전의 파일을 보려면 src/main.c 커밋한 사용합니다.
$ git show HEAD~4:src/main.c
참고로, 패스 루트를 리포지토리를) 의 경우를 제외하고, 또는 ./ 상대 경로를 나타내십시오 ./ 시작됩니다. 심지어 Windows 용 git 슬래시 单捞磐啊 패스이므로 상대치 현재 디렉터리입니다. 자세한 내용은 맨페이지를 체크아웃합니다 장치당 '깃 (git) 표시'.
이 일을 날짜별로 다음과 같습니다.
git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt
참고로, 여기서} {25-02-2013 에서 25-02-2013 '는' head@ " 헤드에게 ". 이 리포지토리를 (using 이 세로그) 이 아닌, 25-02-2013 이전 분기에 마지막 커밋합니다 " history".
Gui 지스크 같은 경우 사용할 수 있습니다.
지스크 /path/to/file
화면 위쪽에 있는 고르십시오 개전판이 의해 설명 또는 날짜. (예: 기본적으로 해당 수정번호, diff 화면은 아래 부분에 해당하는 " patch"; 라디오 단추).
선택한 개전판이 파일을 볼 수 있습니다.
'커밋합니다 해시라고 지정할 수 있습니다' (종종 커밋합니다 eschweiler-clarke 'ID') 를 '쇼' 명령을 깃 (git).
깃 (git) 쇼 ',' commithash> :/path/to/file <.
또한, s & # 39 라고 짐 헌지커
파일의 수정번호 로 내보낼 수 있습니다.
git show HEAD@{2013-02-25}:./fileInCurrentDirectory.txt > old_fileInCurrentDirectory.txt
이렇게 하면 좋겠네요:)
이렇게 모든 버전의 파일을 사용할 수 있습니다 스크립트입니다 덤프하기 위한 별도의 파일:
예:
git_dump_all_versions_of_a_file.sh path/to/somefile.txt
내려받습니다 [스크립트입니다 여기서요] (https://stackoverflow.com/a/32849134/26510) 를 또 다른 유사한 질문에 대한 답을
충돌 할 때, 이 도우미 병합해야 해결하십시오 매우 유용합니다.
#!/usr/bin/env python3
import argparse
import os
import subprocess
parser = argparse.ArgumentParser()
parser.add_argument('revision')
parser.add_argument('files', nargs='+')
args = parser.parse_args()
toplevel = subprocess.check_output(['git', 'rev-parse', '--show-toplevel']).rstrip().decode()
for path in args.files:
file_relative = os.path.relpath(os.path.abspath(path), toplevel)
base, ext = os.path.splitext(path)
new_path = base + '.old' + ext
with open(new_path, 'w') as f:
subprocess.call(['git', 'show', '{}:./{}'.format(args.revision, path)], stdout=f)
[깃허브 업스트림으로] (https://github.com/cirosantilli/dotfiles/blob/a3fd52dab644a481b1736724c4fac7afcfd78317/home/bin/git-show-save).
사용법:
git-show-save other-branch file1.c path/to/file2.cpp
결과: 다음 컨테인먼트하는 대체 버전의 파일:
file1.old.c
path/to/file2.old.cpp
이렇게 하면, 불평, 및 파일 확장명과 렉시한테서 won& 쉽게 찾을 수 있도록 편집기에는 t # 39 의 이전 파일 그냥 옆에 새로운 하나.