1. 특정 커밋으로 체크아웃하기
특정 커밋으로 이동하여 그 시점의 파일 상태를 확인하거나 작업을 진행할 수 있습니다. 이 경우 현재 브랜치는 'detached HEAD' 상태가 되며, 새로운 커밋을 생성하면 현재 브랜치가 아닌 해당 커밋에서 분기된 새로운 커밋이 생성됩니다.
[bash]
git checkout <commit_hash>
예를 들어, 특정 커밋 해시가 'abc123'라면 다음과 같이 입력합니다.
[bash]
git checkout abc123
2. 특정 커밋의 내용을 현재 브랜치에 병합하기
특정 커밋의 변경 사항을 현재 브랜치로 병합하려면 'git cherry-pick' 명령어를 사용합니다. 이 명령어는 지정된 커밋의 변경 사항을 현재 브랜치에 적용합니다.
[bash]
git cherry-pick <commit_hash>
예를 들어, 특정 커밋 해시가 'abc123'라면 다음과 같이 입력합니다.
[bash]
git cherry-pick abc123
3. 특정 커밋에서 새로운 브랜치 생성하기
특정 커밋을 기반으로 새로운 브랜치를 생성할 수도 있습니다. 이렇게 하면 그 커밋을 시작점으로 하여 새로운 작업을 진행할 수 있습니다.
[bash]
git checkout -b <new_branch_name> <commit_hash>
예를 들어, 특정 커밋 해시가 'abc123'이고 새로운 브랜치 이름이 'feature-branch'라면 다음과 같이 입력합니다.
[bash]
git checkout -b feature-branch abc123
4. 특정 커밋의 파일을 현재 작업 디렉토리로 가져오기
특정 커밋에서 특정 파일을 가져오고 싶을 때는 'git checkout' 명령어를 사용하여 해당 파일만 체크아웃할 수 있습니다.
[bash]
git checkout <commit_hash> -- <file_path>
예를 들어, 특정 커밋 해시가 'abc123'이고 파일 경로가 'src/main.c'라면 다음과 같이 입력합니다.
[bash]
git checkout abc123 -- src/main.c
요약
- git checkout <commit_hash> : 특정 커밋으로 이동 (detached HEAD 상태).
- git cherry-pick <commit_hash> : 특정 커밋의 변경 사항을 현재 브랜치에 적용.
- git checkout -b <new_branch_name> <commit_hash> : 특정 커밋을 시작점으로 새로운 브랜치 생성.
- git checkout <commit_hash> -- <file_path> : 특정 커밋의 특정 파일을 현재 작업 디렉토리로 가져오기.
이 명령어들을 통해 특정 커밋을 로컬에 불러와 다양한 작업을 수행할 수 있습니다.
'프로그래밍 > Github' 카테고리의 다른 글
[github] 자주 사용하는 git 명령어 모음 (0) | 2024.06.12 |
---|---|
[github] git을 처음 시작하는 사람들을 위한 글 (0) | 2024.06.12 |
[github] 코드 작업 후 git 저장소에 업로드하기 (0) | 2024.06.11 |
[github] git 가장 최신 파일로 완전히 불러오기 (0) | 2024.06.11 |
[github] git push 한 내용을 git서버에서 삭제하는 방법 (0) | 2024.05.20 |