(git) 원격 브랜치를 내 로컬 브랜치에 병합받는 가장 깔끔한 방법

엽토군·2023년 7월 25일
0

1분 코드 스니펫

목록 보기
8/10

tl;dr

git switch 남의원격브랜치
git checkout 내로컬브랜치
git merge - --no-ff --no-edit

해설

git switchGit 2.23부터 쓸 수 있는 아주 편리한 명령이다.
기본적으로 git checkout -t origin/foo의 축약인데, 해당 Git의 remote 설정이 일반적이라면, 브랜치명에서 origin/을 생략할 수 있다.

git의 각종 커맨드에서 브랜치명 자리에 -를 쓸 수 있다. "앞전에 체크아웃한 브랜치"를 가리키는 표현이다.
어디서 유래한 걸까 했는데 cd 명령에서 온 것 같다. cd -cd OLDPWD의 축약으로서, 사용자를 앞전에 가 있었던 디렉토리로 이동시킨다고 한다.

git merge의 두 옵션은 외워두면 좋을 거 같다.

  • --no-ff: "병합커밋"을 딴다. 참조 관계만 변경시키는 Fast Forward를 하지 않는 것. 새 커밋이 만들어지므로 당연히 메시지 입력을 받는다. 전형적으로 vim이 켜진다.
  • --no-edit: 병합커밋에 "기본 메시지"를 준다. 이 옵션을 같이 주면, vim 입력 단계를 건너뛰고 "Merge branch '남의원격브랜치' into 내로컬브랜치"라는 커밋을 찍어준다.

남의 브랜치라면, fast forward 가능한 관계라 하더라도, 웬만하면 명시적인 커밋으로 병합받는 게 안전할 것이다.

profile
5년차 PHP 개발자입니다.

2개의 댓글

comment-user-thumbnail
2023년 7월 25일

좋은 글 감사합니다. 자주 올게요 :)

1개의 답글