DEV/DevelopSystem

[git] 다른 저장소에서 commit 가져오기 (cherry-pick)

9thxg 2024. 11. 17. 17:29

const 다른 저장소에서 commit 가져오기 = ( cherry-pick ) => {

💻 return Result;

# 가져올 커밋이 존재하는 repo 추가
$ git remote add <repo 이름> <repo url>

# 커밋 해시 확인하기
$ git log <repo 이름>/<브랜치>

# 확인한 커밋 cherry-pick
$ git cherry-pick <커밋 해시>

 

📝 console.log( history )

 회사 프로젝트 진행 중 기존에 존재하는 프로젝트를 기반으로 다른 프로젝트를 진행해야 할 상황이 생겼다. 두 프로젝트의 공통된 부분이 한쪽 프로젝트에서 진행되면 다른 프로젝트에도 적용해야 하기 때문에 공통부분을 어떻게 업데이트할지 고민했다.

 

 공통된 부분을 기반으로 두 프로젝트를 진행하기 때문에 하나의 git 저장소에서 브랜치를 통해 두 프로젝트를 진행하는 방법이 제안되기도 했다. 하지만 git 기능에 다른 저장소로부터 커밋을 가져올 방법이 있을 거라 생각해서 검색해 보니 cherry-pick 명령어를 통해서 가져올 수 있었다. 주로 다른 브랜치의 커밋을 가져올 때 사용하지만 다른 저장소에서도 가져올 수도 있었다.

 

 그래서 추후 프로젝트는 각 저장소를 가지고 필요한 경우 cherry-pick을 통해 커밋을 가지고 오려고 한다. 다만 하나의 커밋에 공통된 부분과 각 프로젝트에서 따로 진행하는 부분의 기능을 같이 커밋하게 되면 가져올 때 번거로움이 많아지기 때문에 공통된 부분에 대한 커밋만 할 수 있도록 주의를 기울여야 할 것 같다.

}