HEAD
)의 차이를 확인하고, 특정 파일만 비교하는 방법을 정리git diff
명령어를 활용하면 효율적으로 코드 변경 사항을 확인 가능HEAD
) 비교 (전체 변경 사항)git diff <커밋 해시> HEAD
예제:
git diff 8f74936 HEAD
8f74936
커밋과 현재(HEAD
) 커밋의 전체 변경 내용을 비교git diff <커밋 해시> HEAD -- <파일경로>
예제:
git diff 8f74936 HEAD -- yuju/yuju/src/main/resources/templates/account/login.html
8f74936
)과 현재(HEAD
)에서 login.html
파일의 차이를 확인git diff 8f74936 HEAD -- \
yuju/yuju/src/main/resources/templates/account/login.html \
yuju/yuju/src/main/resources/static/assets/css/account/join.css \
yuju/yuju/src/main/resources/static/assets/js/account/join.js \
yuju/yuju/src/main/resources/static/assets/js/account/login.js
⚠ 한 줄로 입력해야 한다면?
git diff 8f74936 HEAD -- yuju/yuju/src/main/resources/templates/account/login.html yuju/yuju/src/main/resources/static/assets/css/account/join.css yuju/yuju/src/main/resources/static/assets/js/account/join.js yuju/yuju/src/main/resources/static/assets/js/account/login.js
n
번째 이전 커밋(HEAD~n
)과 비교하기n
번째 커밋(HEAD~n
)을 기준으로 비교할 수도 있다.HEAD~5
(5번째 이전 커밋)과 비교git diff HEAD~5 HEAD
HEAD~5
(5개 전 커밋)과 현재(HEAD
)의 차이를 확인git diff HEAD~5 HEAD -- yuju/yuju/src/main/resources/templates/account/login.html
HEAD~5
(5개 전 커밋)과 현재(HEAD
)의 login.html
변경 사항을 확인git diff --name-only <커밋 해시> HEAD
예제:
git diff --name-only 8f74936 HEAD
원하는 비교 | 명령어 |
---|---|
특정 커밋과 현재 커밋 비교 | git diff <커밋 해시> HEAD |
특정 파일만 비교 | git diff <커밋 해시> HEAD -- <파일명> |
최근 n 번째 이전 커밋과 비교 | git diff HEAD~n HEAD |
최근 n 번째 이전 커밋과 특정 파일 비교 | git diff HEAD~n HEAD -- <파일명> |
변경된 파일 목록만 보기 | git diff --name-only <커밋 해시> HEAD |
git diff
를 활용해서 특정 커밋과 현재 상태를 비교하는 방법을 쉽게 활용할 수 있다!