Git 리포지토리에서 특정 커밋 가져오기
때로는 원격 저장소에서 로컬 저장소로 특정 커밋을 풀고 싶을 수 있으며 이를 수행하는 몇 가지 방법이 있습니다. 아래에서 Git 리포지토리에서 특정 커밋을 가져오는 여러 방법을 찾을 수 있습니다.
git fetch
를 사용하여 변경 사항을 가져온 다음 커밋 해시를 사용하여 병합
이를 사용하여 원격 저장소에서 변경 사항을 가져온 다음 로컬 코드베이스에 병합하려는 커밋의 해시를 찾을 수 있습니다. 다음 단계를 참조할 수 있습니다.
-
리포지토리에 대한 최신 변경 사항 가져오기
git fetch remote <branch_name>
git fetch
명령은 지정된<branch_name>
에서 변경 사항을 가져옵니다. -
병합할 커밋 해시를 가져오기 위해 Git 로그 보기
git log
위의 명령은 커밋 해시, 커밋 작성자, 커밋 날짜 및 커밋 메시지와 같은 모든 커밋을 나열합니다.
--oneline
플래그인git log --oneline
을 사용하여 모든 커밋과 해당 해시를 한 줄로 가져올 수 있습니다. -
커밋 해시를 사용하여 원하는 커밋 병합
git merge <commit_hash>
마지막으로 병합하려는 커밋은
git merge
명령과 함께 커밋 해시를 사용하여 수행할 수 있습니다.
위의 방법을 사용하면 병합된 커밋까지의 모든 커밋도 병합됩니다. 그러나 단일 커밋의 변경 사항을 병합하려면 git cherry-pick
를 다음과 같이 사용할 수 있습니다.
git cherry-pick <commit_hash>
새 분기에 대한 특정 커밋의 코드 가져오기
커밋에서 변경 사항을 가져오고 새 분기로 체크 아웃하려면 단일 명령을 사용하여 이를 수행할 수 있습니다.
git checkout -b <new_branch_name> <commit_hash>
위에서 언급한 git log
명령으로 커밋 해시를 검색할 수 있습니다.
커밋 해시와 함께 git pull
사용
이 단계는 첫 번째 방법에서 두 번째 단계까지 언급한 것과 유사합니다. 언급한 대로 수행한 후 두 번째 단계(커밋 해시를 확인하기 위해 git fetch
및 git log
를 실행한 후).
git pull origin <commit_hash>
위 명령을 사용하면 언급된 커밋의 해시에서 모든 변경 사항을 가져올 수 있습니다.
여기에서 git pull
은 git fetch
와 git merge
를 결합합니다.