[Git] branch란?
👨🏻‍💻iOS 공부/Git

[Git] branch란?

728x90
반응형

브랜치(branch)란 기존 버전에서 기능 변경을 하고 싶을 때 생성하거나 사용하게 되는데, 그림으로 한 번 봐보자.

 

https://www.ailab.ics.keio.ac.jp/b4_induction_training/docs/devops/git.html

중심이 되는 Master가 있고 주변에 기능을 추가하거나, 버그를 수정하기 위한 branch들이 있다. 

branch는 말 그대로 "가지"를 뜻한다. 기존 버전의 파일에다가 직접적으로 바로 수정을 하는 것이 아니라 branch를 만들어 내용을 수정하게 되는 것이다. 따로 가상 공간을 만들어서 수정했기에 언제든 이전의 버전으로 돌아갈 수 있고, 수정이 잘 마무리 되었다면 병합하여 업데이트를 할 수 있게되는 것이다! sourceTree로 한 번 봐보자!

 

 

브랜치 추가 

원하는 커밋에 우클릭을 하여 브랜치를 생성해준다. 

 

 

브랜치를 생성한 후, 내용 수정을 하고 커밋을 하게 되면 version이 위로 올라오게 된다. 

그리고 브랜치에 master와 version_1이 위치하게 되는 것을 볼 수 있다. 

 

여기서 내용을 수정한 현재 버전이 version_1 브랜치이다. 

 

version_1 브랜치

맨 아랫줄 내용을 추가하였는데, 만약 다시 이전으로 돌아가고 싶다면 어떻게 해야할까?? 새로 기입한 부분을 그냥 주석처리하고 넘어가야할까?? 아니다! master 브랜치를 더블클릭 해주면 된다. sourceTree 상에서는 더블클릭이지만 git 명령어로는 저번에 봤던 checkout이 해당 역할을 한다. 원하는 커밋/브랜치로 되돌아갈 수 있는 것이다! 다시 master 브랜치로 되돌아가보면 원래 상태의 파일을 확인할 수 있다. 

브랜치가 중간 세이브 포인트 역할을 하는 가상의 공간이라고 생각해도 좋을 것 같다.

 

master 브랜치

 

정리하자면 브랜치는 이전 master에 있는 내용을 두고 해당 커밋부터 새로 개발하고 싶을 때 다시 시작하는 것이다.

이전 브랜치로 돌아갈 수도 있고, 새로 생성한 브랜치로 최종본을 만들 수도 있는 것이다. 

 

실제로는 master를 중점으로 하여, 최종본이 master에 들어가있게 해주는 것이 좋다고 한다. 

 

즉, 사용자에게 전달되어야하는 버전은 항상 master에 위치시켜두고, branch를 만들어 기능을 추가하거나 디버깅을 하게 되는 것이다. 

그리고 추가 작업을 한 branch와 기존 master를 병합해서 업데이트 된 버전의 파일을 완성할 수 있는 것이다~!

 

끄읕.

 

728x90
반응형