각 커맨드를 클릭하면 해당 관련된 글로 이동합니다.git branch [새 브랜치 이름]: 새로운 브랜치를 생성 git checkout -b [새 브랜치 이름]: 새로운 브랜치를 생성하고 그 브랜치로 바로 이동 git branch -d [기존 브랜치 이름]: 브랜치 삭제 git checkout [기존 브랜치 이름]: 그 브랜치로 이동 git merge [기존 브랜치 이름]: 현재 브랜치에 다른 브랜치를 머지git merge --abort: 머지를 하다가 conflict가 발생했을 때, 일단은 머지 작업을 취소하고 이전 상태로 돌아감
merge를 하면 새로운 커밋이 생긴다고 했었다.그리고 머지를 통해서 생겨난 커밋을 머지 커밋(merge commit)이라고 부른다고 했었다. 그림을 보면 지금 main 브랜치에서 premium 브랜치를 merge 해서 머지 커밋이 생긴 것을 알 수있다.하지만 머지를 한다고해서 항상 새로운 커밋이 생기는 것은 아니다. 예를 들어 main 브랜치에 있는 상태에서 'merge premium'을 실행한다면? premium 브랜치가 가리키던 커밋을, main 커밋도 똑같이 가리키게 된다. 커밋수도 그대로인 것을 짐작할수있는데이렇게 새로운 커밋이 생기는 게 아니라 단지 브랜치가 이동하게 되는 머지를 Fast-forward 머지라고 한다.Fast-forward는 어떤 영상이나 소리를 빨리감기(앞으로 감기)한다는 뜻..
전 글에서 브랜치(branch)는 커밋을 가리키는 존재(포인터)이고,HEAD는 이런 브랜치를 통해 커밋을 간접적으로 가리키는 존재(포인터) 라고 했다. 그렇다면 이전에 배운 'git reset' 커맨드의 동작 원리를 더욱 정확하게 알 수 있을 것이다.git reset을 할 때 HEAD의 변화는? 이 상태에서 git reset [--hard 또는 --soft 또는 --mixed] 9033 을 실행한다면 HEAD가 9033.. 커밋을 가리키게 된다. git reset 커맨드를 사용하면 HEAD는 여전히 같은 브랜치를 가리키고, HEAD가 가리키는 브랜치가 다른 특정 커밋을 가리키게 되고, 이 때문에 결국 HEAD가 간접적으로 가리키던 커밋도 바뀌게 되는 것이다. 이러면 git reset을 했을 때 HEA..