반응형
Git을 사용하여 특정 커밋 간 변경된 파일만 추출하는 방법을 소개합니다.
1. 변경 사항 목록 추출
특정 커밋 간에 변경된 파일 목록을 텍스트 파일로 저장하려면 다음 명령어를 사용합니다:
git diff --name-only [Start Commit] [End Commit] > [File Name].txt
- [Start Commit]: 시작 커밋 해시 (또는
HEAD^
). - [End Commit]: 끝나는 커밋 해시 (또는
HEAD
). - [File Name].txt: 변경된 파일 목록을 저장할 텍스트 파일 이름.
예제:
git diff --name-only HEAD^ HEAD > changes.txt
결과:changes.txt
파일에 변경된 파일 이름이 라인 단위로 기록됩니다.
2. 변경된 파일 추출 (압축 파일로 저장)
변경된 파일만 압축 파일(zip)로 저장하려면 다음 명령어를 사용합니다:
git archive -o [File Name].zip [End Commit] $(git diff --name-only [Start Commit] [End Commit])
- [File Name].zip: 추출할 파일을 저장할 ZIP 파일 이름.
- [Start Commit]: 시작 커밋.
- [End Commit]: 끝나는 커밋.
예제:
git archive -o changes.zip HEAD $(git diff --name-only HEAD^ HEAD)
결과:changes.zip
파일에 변경된 파일이 압축됩니다.
3. 참고
- 커밋 해시 조회:
commit
옆에 있는 해시 값(영문+숫자)을 사용합니다.HEAD
: 현재 커밋.HEAD^
: 이전 커밋.
git log
- 추출된 파일 저장 경로:
- 압축 파일은 프로젝트 최상위 디렉터리에 생성됩니다.
4. 요약
- 변경된 파일 목록만 추출:
git diff --name-only [Start Commit] [End Commit] > changes.txt
- 변경된 파일을 압축 파일로 추출:
git archive -o changes.zip [End Commit] $(git diff --name-only [Start Commit])
이 방법을 활용하면 특정 커밋 간에 변경된 파일만 빠르게 확인하거나 추출할 수 있습니다.
반응형
'작업 tools > git' 카테고리의 다른 글
git에서 특정 commit 의 변경사항을 확인하는 세가지 방법 (2) | 2024.12.20 |
---|---|
gitignore 사용법 (0) | 2024.05.14 |
git 그래프 출력하기 (0) | 2024.04.23 |
gitignore not working (0) | 2023.04.07 |
git 커밋: 특정 커밋 돌아가기, 되돌리기, 차이 확인하기, 날짜 바꾸기, 이슈처리 (0) | 2021.10.08 |