github를 통해 형상관리를 수행하며 개발하다보면,
실수로 커밋을 다른 브랜치에 하게되어 문제가 발생하는 경우가 있다.
예를 들어 A 브랜치
에 커밋해야하는 것을 B 브랜치
에 잘못한 것이다.
이런 상황에서 어떤 해결방식을 생각할 수 있을까?
git에서 기본적으로 제공하는 명령어 중에는 체리픽
이라는 것이 있다.
체리픽은 다른 브랜치에 커밋된 내역을 commit ID를 통해 내가 원하는 브랜치로 복사해오는 것이다.
그럼 Commit ID
를 어떻게 알고 체리픽을 사용할 수 있는 걸까?
깃허브 레포지토리에서 해당 버튼을 클릭하면, 현재 브랜치에 커밋된 커밋 로그와 커밋 ID를 확인할 수 있다.
git log
터미널로 깃에서 clone
해 온 레포지토리의 디렉토리에 접속 후,
위 명령어를 통해 커밋 로그를 확인할 수 있다.
그럼 이렇게 커밋 ID를 확인할 수 있다.
VCS(Version Control System) 기능을 제공하는 IDE를 사용한다면,
IDE에서도 커밋ID를 확인할 수 있다.
추가로 VCS를 지원하는 대부분의 IDE들은 GUI를 사용해서 깃 활용도 가능하니,
잘 확인해서 편하게 사용해보자
git checkout 복사받을브랜치
git cherry-pick 커밋ID
git cherry-pick 커밋ID 커밋ID
git cherry-pick 시작_커밋ID^..종료_커밋ID
만약 개인프로젝트 환경이 아니라, 협업 중인 경우.
그리고 하나의 브랜치에 여럿이서 작업을 수행하고 있는 경우
체리픽
은 매우 신중하게 사용해야 한다.무심코 사용한
체리픽
으로 인해 다른 사람들이 작업 중인 곳에 충돌이 발생할 수도 있으며,
이러한 충돌은업무 시간 상승
으로 이어진다.협업 중인 상태에서 버전관리 시스템을 다룰 때는, 항상 주의하며 수행하도록 하자!