git switch 남의원격브랜치
git checkout 내로컬브랜치
git merge - --no-ff --no-edit
git switch
는 Git 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 가능한 관계라 하더라도, 웬만하면 명시적인 커밋으로 병합받는 게 안전할 것이다.
좋은 글 감사합니다. 자주 올게요 :)