오늘은 Section 1에서 처음으로 Git에 대해서 학습한 이후에 처음으로 추가적인 부분인 Branch에 대해서 학습하였다. 예전에 배운 내용을 복습하면서 새로운 내용에 대해 이해하면서 실제 현업이라 프로젝트 시에 유용하게 활용할 수 있는 Branch에 대해 배울 수 있었다.
정의
브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념으로, 개발을 하다 보면 한 페이지 안의 여러 기능을 따로 구현하기 위해, 코드를 여러 개로 복사해야 하는 일이 자주 생기게 된다. 브랜치 기능을 활용하면, 코드를 통째로 복사한 후 원래 코드가 변경될 우려 없이 독립적으로 개발할 수 있고, 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에, 여러 작업을 동시에 진행할 수 있다.
여러 명이서 동시에 작업을 할 때에 다른 사람의 작업에 영향을 주거나 받지 않도록, 먼저 통합 브랜치에서 자신의 작업 전용 브랜치를 만들고, 각자의 브랜치에서 맡은 영역에 대한 작업을 진행한 후, 작업이 끝난 브랜치는 통합 브랜치에 병합해서 변경 사항을 적용한다. 이를 통해 다른 브랜치의 작업에 영향을 받지 않고 독립적으로 특정 작업을 수행하고 그 결과를 하나로 모아 나가게 되며, '작업 단위', 즉 브랜치로 그 작업의 내용들이 모두 기록되기 때문에 문제가 발생했을 때 원인이 되는 작업을 찾아내거나 그에 따른 대책을 세우기 쉬워진다.
브랜치 종류
브랜치 명령어
$ git branch 새로운 브랜치 이름
$ git switch -c 새로운 브랜치 이름
, $ git checkout -b 새로운 브랜치 이름
$ git branch
$ git branch -v
$ git branch -d 삭제할 브랜치 이름
$ git branch -D
$ git switch 브랜치 이름
,$ git checkout 브랜치 이름
$ git checkout master
$ git merge dev
$ git log --branches --graph --decorate
$ git stash
Git은 자주 사용하는 명령어만 사용하고 GUI 툴인 Gitkraken을 사용하고 있어서 잊어버리고 있는 내용이 많았는데 이번 챕터를 통해 이전의 내용을 상기하고 협업에 필수적인 기능인 Branch에 대해서 배울 수 있었다. Section 3의 마지막 부분으로 진행되면서 확실히 프로젝트에 대비한 내용을 학습하고 있다는 생각이 든다. 프로젝트의 주제와 어떻게 진행하고 어떤 라이브러리나 프레임워크를 사용하고 파트를 어떻게 나누는 것이 좋을지 생각하면서 챕터를 진행해야 겠다고 생각이 들었다.