git branch (TIL 92일차)

EenSung Kim·2021년 7월 6일
0

"짧게 하고 쉬어갈께요"


git branch

프로그래밍을 하다 보면 의외로 사소한 실수 하나가 코드 전체의 동작을 막는 경우가 많은 것 같습니다. 이전 작업으로 돌아가야 하는 경우들이 생기기도 하죠. 만약 git 의 도움이 없었다면 우리는 매번 파일 이름을 바꾸어가며 작성한 코드를 저장해야 했을지도 모릅니다.

게다가 프로그래밍은 대부분의 경우 많은 사람들의 협업으로 이루어집니다. 하나의 페이지를 만드는 데에도 여러 명의 사람들이 각기 다른 영역에서 자신이 맡은 바를 구현하기 위해 노력해야 하죠. (물론 아직 실전으로 경험해보지는 않았습니다. 프로젝트를 하게 되면 곧 알게 되겠죠..)

이런 작업의 편의를 위해 git 에 있는 기능 중 하나가 branch 라는 기능입니다. branch 가 무엇인지에 대해 검색해보면 '포인터' 라는 용어를 많이 사용하고 있는데요. 자바스크립트에서는 지원하지 않는 개념이라고 알고 있어서 오늘 글에서는 나름대로 이해한 바를 풀어서 설명하려 합니다. (C 언어에 포인터라는 개념이 있다고 알고는 있는데 무엇인지는 잘 모르겠네요.)

branch, 영한 사전에 보면 '가지' 라는 설명이 가장 먼저 나오죠. 나뭇가지 할 때 그 가지입니다. 기존의 줄기에서 갈라져 나온 것을 말하는데요. git 에서 branch 라는 건 여러 이유로 코드를 수정, 추가 또는 삭제해야할 때, 메인코드를 건드리지 않고도 안전하게 작업이 가능하도록 코드를 가지쳐서 분기하는 것을 말합니다.

git branch 를 활용하게 되면, 기존의 코드를 복사해서 새로운 작업을 이어나갈 수 있습니다. 이 때 기존의 코드에는 아무런 영향도 없죠. 내가 시도한 새로운 작업이 제대로 동작하지 않더라도 기존의 코드가 살아있기 때문에 원상복구 하기가 쉽습니다.

branch 기능은 여러 명이 함께 작업하는 경우에도 아주 유용합니다. 하나의 코드 파일을 주고 받으면서 수정할 필요 없이, 각자가 branch 를 만들어 작업하고 추후에 합칠 수 있기 때문입니다. 물론 합치는 과정에서 기존의 코드나 다른 사람이 작성한 코드와 충돌하는 부분을 먼저 검토해봐야 하겠지만 말이죠.

git branch 와 여러 명령어 관한 세부적인 설명을 잘 정리해둔 자료들이 있어서 링크로 남겨두려고 합니다.

https://backlog.com/git-tutorial/kr/stepup/stepup1_1.html // git branch 를 전체적으로 이해해볼 수 있습니다.

https://dangitgit.com/ko // git 을 사용하면서 발생할 수 있는 문제와 이를 해결하는 명령어가 정리되어 있습니다.

https://learngitbranching.js.org/?locale=ko // 게임의 형태로 git branch 를 배워나갈 수 있습니다.

profile
iOS 개발자로 전직하기 위해 공부 중입니다.

0개의 댓글