다른 branch에 반영해야 하는 수정사항을 master 브랜치에서 작업해버렸다. 저장소 관리 정책 상 master 브랜치에는 직접 push 할 수가 없어 곤란한 상황에서는 어떻게 해결하면 좋을까? 작업해야 하는 branch로 이동해서 다 다시 수정해야 할까?
기본적으로 로컬 저장소와 원격 저장소의 브랜치 이름이 같으면 아래와 같은 명령어로 push할 수 있다.
git push <remote_name> <branch_name>
# 예시
git push origin master
하지만 push 명령은 push할 브랜치와 업데이트할 브랜치를 지정할 수도 있다.
git push <remote_name> <src>:<dst>
# 예시
git push origin master:passwd
src는 push할 브랜치의 이름이다. SHA-1 식도 지정할 수 있는 것을 보면, 특정 커밋만을 push할 수도 있는 것으로 보인다.
dst는 업데이트할 원격지 브랜치 이름이다.