마지막 변경 사항에 대한 gitdiff 파일
특정 파일이 현재 존재하는 것과 마지막으로 파일을 변경한 커밋 이전에 존재했던 것 사이에 차이를 생성하도록 Git을 얻는 것이 가능합니까?
즉, 우리가 알고 있는 것은 다음과 같습니다.
$ git log --oneline myfile
123abc Fix some stuff
456def Frobble the foos
789dba Initial commit
그리고나서git diff 456def myfile
파일의 마지막 변경 내용을 보여 줍니다.작업자가 작성한 지식 없이도 동일한 작업을 수행할 수 있습니까?git log
123도에서 무엇이 바뀌었습니까?
이것은 실제로 존재하지만, 실제로는 그것의 특징입니다.git log
:
git log -p [-m] [--follow] [-1] <path>
참고:-p
단일 커밋과의 인라인 차이를 표시하는 데도 사용할 수 있습니다.
git log -p -1 <commit>
사용 옵션:
-p
(또한)-u
또는--patch
)는 deeeeeeppe에 숨겨져 있습니다.git-log
man 페이지, 그리고 실제로는 표시 옵션입니다.git-diff
와 함께 사용할 경우log
각 커밋에 대해 생성되는 패치를 커밋 정보와 함께 표시하고 지정된 커밋을 숨깁니다.<path>
(이 동작은 다음 항목에 설명되어 있습니다.)--full-diff
각 커밋의 완전한 차이가 표시됩니다.)-m
병합 커밋이 diff 콘텐츠를 포함하도록 합니다(이 경우 커밋 메시지만 표시됩니다.-p
지정되지 않음).-1
에는 지정된 파일에 대한 최근 변경 내용만 표시됩니다(-n 1
대신 사용할 수 있습니다.-1
그렇지 않으면 해당 파일의 0이 아닌 모든 diff가 표시됩니다.--follow
이름을 바꾸기 전에 발생한 변경 사항을 확인하려면 이 필요합니다.
파일에 대한 마지막 변경 내용을 사용하지 않고 바로 확인할 수 있는 유일한 방법은 이 방법뿐입니다.git log
(또는 유사) 개입 수정사항 수를 카운트하거나 커밋의 해시를 결정합니다.
이전 버전의 변경 사항을 보려면 로그를 스크롤하거나 로그를 시작할 커밋 또는 태그를 지정하면 됩니다. 물론 커밋 또는 태그를 지정하면 올바른 커밋 또는 태그가 무엇인지 알아내는 원래 문제로 돌아갑니다.
크레딧이 지급되어야 하는 크레딧:
- 나는 발견했습니다.
log -p
이 대답 덕분에 - 프란시스코 푸가와 나에게 보여준 이 대답에 대한 크레딧.
--follow
선택. - Chris Betti가 언급한 것에 대한 공로를 인정합니다.
-n 1
옵션과 그것을 언급하기 위한 atko.-1
변종의 - 내가 실제로 문서를 읽고 무엇을 알아내도록 한 스위버 2112에게 공을 돌립니다.
-p
의미적으로 "means"입니다. - 오스카 숄튼이 기본적으로 지적한 것에 대한 공로를 인정합니다.
-p
병합 커밋에 대한 diff-commit를 표시하지 않습니다.
git diff를 사용하는 방법 중 하나는 다음과 같습니다.
git diff <commit> <path>
그리고 마지막 커밋의 하나의 커밋을 참조하는 일반적인 방법은 실제 HEAD에 대한 상대 경로입니다.이전 커밋을 HEAD^(이 예에서는 123µs가 됨) 또는 HEAD^^(이 예에서는 456def) 등으로 참조할 수 있습니다.
그래서 당신의 질문에 대한 대답은 다음과 같습니다.
git diff HEAD^^ myfile
그래픽 도구를 사용해도 문제가 없을 경우 이 작업은 매우 잘 수행됩니다.
gitk <file>
gitknow는 파일이 업데이트된 모든 커밋을 표시합니다.커밋을 표시하면 목록에서 이전 커밋과의 차이가 표시됩니다.이것은 디렉터리에도 적용되지만 선택한 커밋에 대해 diff할 파일을 선택할 수도 있습니다.매우 유용합니다!
언급URL : https://stackoverflow.com/questions/10176601/git-diff-file-against-its-last-change
'programing' 카테고리의 다른 글
zure의 원격 kubernetes 클러스터에 액세스하도록 kubectl 명령 구성 (0) | 2023.05.26 |
---|---|
편집기에 주 유형이 없습니다. (0) | 2023.05.26 |
git 무시 예외 (0) | 2023.05.26 |
Xcode에서 블록 댓글을 작성할 수 있는 바로가기가 있습니까? (0) | 2023.05.26 |
Visual Studio(C#, VB)에서 "32비트 선호" 컴파일러 플래그는 무엇을 의미합니까? (0) | 2023.05.26 |