현재 버전과 마지막 버전 간의 차이 찾기
Git를 사용하여 현재 버전과 마지막 버전의 차이를 어떻게 찾을 수 있습니까?
git diff last version:HEAD
저는 "마지막 버전"의 의미를 잘 이해하지 못합니다.
HEAD^로 이전 커밋에 액세스할 수 있으므로 다음과 같은 것을 찾고 있다고 생각합니다.
git diff HEAD^ HEAD
그것은 또한 :commithash에도 적용될 수 있습니다.
git diff $commithash^ $commithash
1, Git 1.8.5 준로기,@
는 의 별칭입니다.HEAD
다음을 사용할 수 있습니다.
git diff @~..@
다음도 작동합니다.
git show
헤드와 커밋 간의 차이를 알고 싶다면 다음을 사용할 수 있습니다.
git diff commit_id HEAD
그러면 시각적 차이 도구가 시작됩니다(구성된 경우).
git difftool HEAD^ HEAD
HEAD와의 비교는 기본값이므로 생략할 수 있습니다(Orient가 지적한 대로).
git diff @^
git diff HEAD^
git diff commit_id
경고.
- @에서 @ScottF와 @Panzercris는 라고 설명합니다
~
▁of▁be다합 대신 를 사용해야 합니다.^
.
version"을 directory 않은 로 하고 version"을 "current version"이라고 합니다.HEAD
분기에 사항), do(실행), 히간수행현단항사수정커분로된밋기재대으에마막해지▁((수▁simply
git diff HEAD
다음에 대한 크레딧은 사용자에게 전달됩니다.Cerran
.
그리고 만약 당신이 항상 준비 영역을 건너뛰면.-a
당신이 커밋할 때, 당신은 간단히 사용할 수 있습니다.git diff
.
요약
git diff
단계별 변경사항을 보여줍니다.git diff --cached
단계별 변경 내용을 보여줍니다.git diff HEAD
모든 변경 사항(단계별 및 미단계별)을 표시합니다.
출처: git-diff(1) 설명서 페이지 – Cerran
malloy의 코멘트에서 지적했듯이, "현재 버전과 마지막 버전"이 마지막 커밋과 그 이전 커밋을 의미한다면, 간단히 사용할 수 있습니다.
git show
마지막 커밋과 마지막 커밋의 차이(있는 경우 현재 상태 포함):
git diff HEAD~
또는 짝수(유형에 따라 다름)
git diff @~
@
는 의동입니다어의다on니의 입니다.HEAD
및 재현지의의~
" 언급된 수정본의 부모를 주세요"라는 의미입니다.
다음과 같은 방법으로도 할 수 있습니다.
이전 커밋과 비교
git diff --name-status HEAD~1..HEAD
현재 및 이전 두 커밋과 비교
git diff --name-status HEAD~2..HEAD
사용하기만 하면 됩니다.cached
플래그를 추가했지만 아직 커밋하지 않은 경우:
git diff --cached --color
마스터에 있다고 가정하면 빠르고 간단합니다.
git diff (checkout_id):file.txt file.txt
예:
git diff asdfioei91819280din198:file.txt file.txt
를 ,n
다음을 사용할 수 있습니다.
git diff HEAD~n
따라서 현재 커밋의 최근 5개 커밋(현재 커밋 포함)은 다음과 같습니다.
git diff HEAD~5
먼저 "를 사용합니다.git log
저장소에 대한 로그를 나열합니다.
이제 두 커밋과 관련된 두 커밋 ID를 선택합니다.차이점을 확인하려고 합니다(예: 현재 버전과 일부 이전 버전에 대한 기대에 따라 가장 높은 커밋과 일부 오래된 커밋).
다음으로, 다음을 사용합니다.
git diff <commit_id1> <commit_id2>
또는
git difftool <commit_id1> <commit_id2>
HEAD가 상위 커밋을 가리킨 경우 다음과 같은 작업을 수행할 수 있습니다.
commit1 -> HEAD
commit2 -> HEAD~1
commit3 -> HEAD~2
첫 번째 커밋과 두 번째 커밋 사이의 차이:
git diff HEAD~1 HEAD
첫 번째 커밋과 세 번째 커밋 간의 차이:
git diff HEAD~2 HEAD
두 번째 커밋과 세 번째 커밋 간의 차이:
git diff HEAD~2 HEAD~1
등등...
나는 이클립스 EGit 플러그인이 설치된 이클립스 IDE가 있는 비트버킷을 사용합니다.
SVN과 같은 모든 버전의 파일을 비교합니다.
Menu Project Explorer → File → 마우스 오른쪽 버튼 → Team → Show in history를 클릭합니다.
그러면 해당 파일의 모든 변경 내역이 표시됩니다.이제 두 가지 버전을 클릭하고 → "서로 비교"를 선택합니다.
이 기능은 태그에도 적용됩니다(아래의 '고유한' 부분을 제거하고 모든 변경 사항을 확인해야 하는 경우 기타 부분을 제거하십시오).
git diff v1.58 HEAD
다음은 동일하며, 단일 저장소에서 마이크로 서비스를 위한 CI(연속 통합)에 유용할 수 있습니다.
git diff v1.58 HEAD --name-only | sort -u | awk 'BEGIN {FS="/"} {print $1}' | uniq
<Folder Name>
(신용 - https://dzone.com/articles/build-test-and-deploy-apps-independently-from-a-mo)
커밋의 개별적인 변화를 보여주기 위해 머리를 맞춥니다.
git show Head~0
커밋의 누적된 변화를 보여주기 위해 머리에.
git diff Head~0
여기서 0은 원하는 커밋 수입니다.
마지막 버전이 마지막 태그를 의미하고 현재 버전이 HEAD(현재 상태)를 의미하는 경우 마지막 태그와 차이가 있을 뿐입니다.
태그 찾기:
$ git tag --list
...
v20.11.23.4
v20.11.25.1
v20.11.25.2
v20.11.25.351
마지막 태그는 다음과 같습니다.
$ git tag --list | tail -n 1
v20.11.25.351
통합:
tag=$(git tag --list | tail -n 1)
git diff $tag
언급URL : https://stackoverflow.com/questions/9903541/finding-diff-between-current-and-last-version
'programing' 카테고리의 다른 글
ASP.Net 오류: "'foo' 유형이 "temp1.dll" 및 "temp2.dll"에 모두 있습니다. (0) | 2023.05.14 |
---|---|
인터페이스에서 작업을 반환해야 하는 경우 무작동 구현을 수행하는 가장 좋은 방법은 무엇입니까? (0) | 2023.05.14 |
javascript 실행 시 mongodb 콘솔에 쓸 수 있습니까? (0) | 2023.05.14 |
Python에서 try/except를 사용하여 문자열을 Int로 변환 (0) | 2023.05.14 |
모서리가 둥글고 그림자가 드리워진 UIView? (0) | 2023.05.14 |