Error기록 노트/Git

[Git]커밋 후 브랜치 이동하여 푸시하는 방법

에러노트 2024. 8. 20. 10:22

안녕하세요. 에러노트입니다.

오늘은 commit 후에 브랜치를 바꾸어야 하는 경우를 기록해두려 합니다.


[현재 상태 요약]

작업 후 커밋까지 완료한 상태에서 확인해보니 main에 커밋을 올린 상태입니다.

기존에 구현하던 브랜치는 dev이고, 해당 브랜치에 푸시를 해야 합니다.

이 상태에서 main이 아닌 dev로 옮기는 방법

 

우선, 원하는 커밋을 복사해오기 위해 git log를 통해 해쉬번호를 확인 후 해당 7자리를 복사 후,

변경하고자 하는 브랜치의 위치로 이동해줍니다.

#기존에 해당 브랜치가 있는 경우
git checkout dev 

#신규 생성,브랜치 이동
git branch dev
git checkout dev

 

1. 충돌이 생길 여지가 있을 때

커밋을 이동할 브랜치에서 아래 명령어를 통해 가져옵니다.

git cherry-pick 12ab34c #위에서 복사한 해쉬값을 사용합니다.

충돌이 발생한 경우 아래와 같이 skip 후 충돌된 부분을 수정합니다.

git cherry-pick --skip

해결 후 git add로 추가해준 뒤 git status로 확인 후 push를 진행합니다.

마지막으로 main의 잘못 올린 커밋을 삭제해줍니다.

git checkout main
git reset --hard 12ab34c

 

2. 충돌 될 부분이 하나도 없다 확신할 때

만약, 이전 변경사항과의 충돌될 부분이 없다면 곧바로 rebase를 진행하면 됩니다.

git rebase main

 

 

충돌 사항이 없다면

git push origin dev --force