현재 버전과 마지막 버전의 차이점을 찾으십니까?
Git을 사용하여 현재 버전과 마지막 버전의 차이점을 어떻게 찾을 수 있습니까?
git diff last version:HEAD
나는 "마지막 버전"의 의미를 정말로 이해하지 못한다.
이전 커밋은 HEAD ^로 액세스 할 수 있으므로 다음과 같은 것을 찾고 있다고 생각합니다.
git diff HEAD^ HEAD
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 및 @Panzercrisis는 Windows에서 그 의견에 설명
~
문자 대신 사용해야합니다^
.
"현재 버전"이 작업 디렉토리 (커밋되지 않은 수정)이고 "마지막 버전"이 HEAD
(현재 브랜치에 대해 마지막으로 커밋 된 수정)이라고 가정하면 다음을 수행하십시오.
git diff HEAD
팔로우에 대한 크레딧은 사용자에게 전달됩니다. Cerran
-a
커밋 할 때 항상 스테이징 영역을 건너 뛰면 git diff
.
요약
git diff
단계적이지 않은 변화를 보여줍니다.git diff --cached
단계적 변화를 보여줍니다.git diff HEAD
모든 변경 사항을 표시합니다 (단계별 및 비 단계별).
출처 : git-diff (1) 매뉴얼 페이지 – Cerran
A의 지적 코멘트 에 의해 amalloy , 경우 "현재 마지막 버전"으로 마지막 커밋을 의미하고, 그 전에 커밋, 당신은 사용을 간단하게 할 수
git show
마지막 커밋과 마지막 커밋의 차이점 (있는 경우 현재 상태 포함) :
git diff HEAD~
또는 (입력하기 쉬움)
git diff @~
현재 분기 @
의 동의어는 어디에 있으며 "나에게 언급 된 개정의 부모를 줘"를 의미합니다.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
먼저 " git log
"를 사용 하여 저장소의 로그를 나열합니다.
이제 두 개의 커밋에 해당하는 두 개의 commit-id를 선택하여 차이점을 확인하십시오 ( 예제 -최상위 커밋 및 일부 이전 커밋 [현재 버전 및 일부 이전 버전에 대한 예상대로] ).
다음으로 :
git diff <commit_id1> <commit_id2>
또는
git difftool <commit_id1> <commit_id2>
I use bitbucket with eclipse IDE with Eclipse EGit plugin installed. I compare a file from any version of its history(Like SVN).
Project Explorer > file Right Click > Team > Show in history
This will bring history of all changes on that file. Now CTRL-click and select any two versions > "Compare with each other"
This will also work for tags. (remove the 'uniq' below and other parts if you need to see all changes)
git diff v1.58 HEAD
Below is the same, that could be useful for CI for microservices in monorepo
git diff v1.58 HEAD --name-only | sort -u | awk 'BEGIN {FS="/"} {print $1}' | uniq
<Folder Name>
(credit - https://dzone.com/articles/build-test-and-deploy-apps-independently-from-a-mo)
If the top commit is pointed by HEAD then you can do something like this:
commit1 -> HEAD
commit2 -> HEAD~1
commit3 -> HEAD~2
Diff between 1st and 2nd commit:
git diff HEAD~1 HEAD
Diff between 1st and 3rd commit:
git diff HEAD~2 HEAD
Diff between 2nd and 3rd commit:
git diff HEAD~2 HEAD~1
and so on...
참고URL : https://stackoverflow.com/questions/9903541/finding-diff-between-current-and-last-version
'your programing' 카테고리의 다른 글
'커링'이 무엇인가요? (0) | 2020.10.02 |
---|---|
호스트 'xxx.xx.xxx.xxx'는이 MySQL 서버에 연결할 수 없습니다. (0) | 2020.10.02 |
Bash 스크립트에서 특정 조건이 발생하면 전체 스크립트를 종료하려면 어떻게해야합니까? (0) | 2020.10.02 |
파이썬에서 사전 키를 목록으로 반환하는 방법은 무엇입니까? (0) | 2020.10.02 |
스캐너가 next () 또는 nextFoo ()를 사용한 후 nextLine ()을 건너 뛰나요? (0) | 2020.10.02 |