itsource

git를 사용하여 특정 파일의 변경 사항 보기

mycopycode 2023. 5. 2. 22:41
반응형

git를 사용하여 특정 파일의 변경 사항 보기

나는 내가 사용할 수 있다는 것을 알고 있습니다.git diff변경 사항을 확인하기 위한 명령이지만, 제가 이해한 바로는 디렉토리 기반입니다.즉, 현재 디렉토리에 있는 모든 파일의 모든 변경사항을 제공합니다.

특정 파일 하나의 변경 사항만 확인하려면 어떻게 해야 합니까?예: 파일을 변경했습니다.file_1.rb,file_2.rb, ...,file_N.rb하지만 파일의 변경 사항에만 관심이 있습니다.file_2.rb변경 내용을 확인하려면 어떻게 해야 합니까(커밋하기 전에)?

다음과 같은 명령을 사용합니다.

git diff file_2.rb

차이점을 얻을 수 있는 항목의 종류에 대한 자세한 내용은 설명서를 참조하십시오.

보통.git diff자동으로 현재 디렉터리뿐만 아니라 전체 저장소의 모든 변경 사항을 표시합니다.

다른 방법(이 SO 답변에서 언급됨)은 터미널에 기록을 보관하고 파일 자체에 대한 매우 깊은 추적 기록을 제공합니다.

git log --follow -p -- file

이렇게 하면 파일의 전체 기록(이름 변경 및 각 변경에 대한 차이가 있는 기록 포함)이 표시됩니다.

즉, 파일 이름이 foo로 지정된 경우 git log -p bar( --follow 옵션 없음)는 파일 이름이 변경된 시점까지만 파일의 기록을 표시합니다. 파일 이름이 foo로 알려졌을 때는 파일의 기록을 표시하지 않습니다.git log --follow -p 막대를 사용하면 foo로 알려졌을 때의 파일 변경 내용을 포함하여 파일의 전체 기록이 표시됩니다.

사용할 수 있습니다.gitk [filename]변경 로그를 보다

아래 명령을 사용하여 파일의 내용을 변경한 사용자를 확인할 수 있습니다.

git blame <filename>

특정 파일 변경에 대한 커밋 세부 정보만 나열합니다.

git log --follow file_1.rb

동일한 파일에 대한 다양한 커밋 간의 차이를 나열합니다.

git log -p file_1.rb

커밋과 해당 메시지만 나열합니다.

git log --follow --oneline file_1.rb

실행할 수 있습니다.

git status -s

이렇게 하면 수정된 파일 이름이 표시되고 관심 있는 파일 경로를 복사하면 다음을 사용하여 변경 내용을 볼 수 있습니다.git diff

git diff <filepath + filename>

당신은 또한 시도할 수 있습니다.

git show <filename>

커밋의 경우 git show는 로그 메시지와 텍스트 diff(파일과 파일의 커밋된 버전 간)를 표시합니다.

자세한 내용은 git show Documentation을 참조하십시오.

gitdiff 파일 이름

+ 제거된 라인으로 추가된 라인을 -로 표시합니다.

tig를 사용할 수 있습니다.

sudo apt install tig

그냥 다음을 입력합니다.tig콘솔에서

당신은 이와 같은 것을 가질 수 있고, 당신은 모든 코드 라인에 대한 커밋과 로컬 변경을 탐색할 수 있습니다.

여기에 이미지 설명 입력

@Greg Hewgill의 말에 전적으로 동의합니다.

공백이 .'또는 '

gitdiff '내 프로젝트/내 폴더/내 하위 폴더/file_2.rb'

또는 사용자 고유의 GUI 도구를 사용하는 경우

git difftool ./filepath

다음 게시물에서 안내하는 GUI 도구를 설정할 수 있습니다.시각적 디프 프로그램으로 'git diff' 출력을 보려면 어떻게 해야 합니까?

언급URL : https://stackoverflow.com/questions/8048584/see-changes-to-a-specific-file-using-git

반응형