hanker

Git - 다른 branch에서 소스 가져오기 본문

CI, CD/GIT

Git - 다른 branch에서 소스 가져오기

hanker 2025. 2. 20. 00:23
반응형

다른 브랜치에서 소스를 가져오는 방법에 대해서 알아보자.

 


1. 현재 브랜치 소스를 유지하면서 가져오기

 

다른 브랜치의 변경 사항을 현재 브랜치로 병합하기

git merge [브랜치명]

# git merge main

명령어를 실행하면 main 브랜치의 변경 사항이 현재 브랜치에 병합된다.

 

* 브랜치 충돌이 발생할 수 있음.

병합 중 충돌이 발생하면 직접 수정한 후 커밋해야 한다.

git add .
git commit -m "Merge develop branch"

 

 


2. 다른 브랜치 소스 덮어쓰기 (현재 브랜치 변경됨)

 

만약 현재 브랜치를 유지할 필요가 없고, 다른 브랜치의 내용을 그대로 가져오고 싶을 때에는 reset --hard을 사용한다.

git fetch origin
git reset --hard origin/다른_브랜치

# 예시
# git fetch origin
# git reset --hard origin/develop

 

위 명령어를 실행하면 develop 브랜치의 최신 코드가 현재 브랜치에 덮어씌워진다.

 

* 이 방법은 현재 브랜치의 변경 사항을 모두 잃어버리므로, 꼭 백업 또는 확인 후 사용해야 한다.

 

 


3. 특정 브랜치에서 최신 코드 가져오기

 

다른 브랜치의 최신 코드를 기반으로 작업해야 할 경우 rebase를 사용한다.

git rebase 다른_브랜치

# 예시
# git rebase develop

 

위 방법을 사용하면 develop 브랜치의 변경 사항 위에 현재 브랜치의 커밋이 쌓이게 된다.

 

* 충돌이 발생할 경우 수동으로 해결하고 git rebase --continue 를 실행한다.

 

 

 


4. 특정 커밋만 가져오기

 

특정 커밋만 가져오고 싶다면 cherry-pick을 사용한다.

git cherry-pick 커밋해시

# 예시
# git cherry-pick abc1234

 

위 명령어는 abc1234 커밋을 현재 브랜치에 적용한다.

 


정리

 

 

전체 소스를 병합: git merge 다른_브랜치 명

다른 브랜치로 덮어쓰기: git reset --hard origin/ 다른_브랜치 명

다른 브랜치의 최신 코드 기반으로 작업: git rebase 다른_브랜치 명

특정 커밋만 가져오기: git cherry-pick 커밋해시

 

반응형