본문 바로가기
뒷북 정리 (국비 교육)/git, github

Git command : branch

by 규글 2022. 3. 30.

branch : 작업을 하는 가지가지 나뭇가지

 Git으로 작업하고 넘어가는 각각의 working tree를 branch라고 한다. 그 중에서 특별히 가장 최근에 commit한 branch를 master branch라고 부르는 것이다. 그렇다면 branch는 왜 만들어서 작업하는 것일까?

 

 위 그림의 가운데 줄이 프로젝트의 큰 틀이라고 생각해보자. 가장 중요한 이유는 프로젝트는 혼자 하는 것이 아니기 때문이다. 혼자서 작업을 한다면 master branch 가닥에서 계속 작업해도 사실 큰 문제가 되지 않을 것이지만, 여러 사람들이 함께하는 와중에 master branch에서 직접 작업하는 것은 많은 문제를 일으킬 수 있다. 게다가 아직 검증도 되지 않은 내용을 바로 master branch에서 작업하는 것은 더욱 아닐 일이다. 때문에 각자의 작업 branch를 만들어서 개발을 하고, 이것들이 완성되고 검증되었을 때 비로소 master branch로 합치게 되는 것이다.

 

>>> git branch branch-name

>>> git branch

 branch는 각 working tree를 말하기도 하지만, 그 자체로 명령어이기도 하다. branch 명령어 뒤에 원하는 branch 이름을 작성하면 현재 HEAD가 가리키고 있는 위치에 해당 이름으로 새롭게 branch가 만들어지고, 아무것도 없이 branch 명령어만 작성한다면 현재 어떤 branch가 있는지 그 목록을 확인할 수 있다. 목록에서 *로 표시된 것은 현재 바라보고 있는 branch이다.

 

 

 

 

 

>>> git switch branch-name

>>> git checkout hash-code
>>> git checkout branch-name

>>> git switch -c(C) branch-name
>>> git checkout -b(B) branch-name

 번거롭게 새로운 branch를 만들고 이동하는 것을 동시에 하고 싶다면 어떻게 할까? 이것은 switch나 checkout 명령어로 가능하다.

 우선 switch부터 보겠다. 명령어 뒤에 새롭게 만들고 싶은 branch의 이름을 작성하면 해당 이름으로 새롭게 branch를 만들면서 동시에 해당 branch로 이동까지 시켜준다. Git 공식 홈페이지에 따르면 c 옵션을 붙여 사용한다고 나와있으나 없어도 가능했다. checkout 명령어를 사용하려 한다면 b옵션을 사용하면 동일한 작동을 한다. switch와 checkout 모두 옵션의 대문자를 함께 표기해두었는데, 대문자로 옵션을 사용한 경우는 해당 이름으로 된 branch가 이미 있다면 branch를 만들고 이동하는 작업을 하지 않도록 한다. 이렇게 만든 branch의 이름은 switch나 checkout으로 이동할 때 hash code 대신 사용할 수 있다. 혹시라도 branch 명령어가 번거롭다면 이를 이용하면 좋다.

 

>>> git branch –d branch-name

>>> git branch --move old name new name

 branch를 삭제하고자 한다면 d 옵션을, 이름을 변경하고자 한다면 move 옵션을 사용한다.

 

 이렇게 새로 만든 것이 마음에 든다면, 그때 master branch와 합치는 과정을 거친다.

'뒷북 정리 (국비 교육) > git, github' 카테고리의 다른 글

Git command : reset  (0) 2022.03.30
Git command : merge  (0) 2022.03.30
Git command : log, checkout  (0) 2022.03.30
Git command : commit  (0) 2022.03.30
Git command : status (feat. ignore)  (0) 2022.03.30

댓글