[Git]내가 보려고 만든 GitHub 모음집 #2 브랜치 생성, 관리, 이동, 삭제

SeoYum·2021년 12월 14일
0
post-thumbnail

프롤로그

우리가 작성한 코드가 한번에 완성품이 될 수 없다.
무시무시한 천재라면 가능할까?

git 입문자이며 초보 개발자가 toy 규모의 개인 작업을 할 때는 브랜치를 추가로 생성해 작업을 하는 경우가 없지만, 할 수 있는 게 늘어나고 새로운 시도를 하거나 기존의 코드에서 확장해 기능을 추가하거나 하는 등 유지보수, 리팩토링을 하는 과정에서 branch 작업은 필수적이다.

특히, 협업을 할 시에는 각 개발자가 맡은 업무가 다르고 이를 병합하기 이전에 자신의 코드가 정상적으로 돌아가는지 실험하기 위해 branch를 만들어 코드 손실의 위험성을 최소화하고 자신의 branch 안에서 여러 시도를 안전하게 가능하도록 한다.

때문에 branch의 자유로운 활용은 개발자를 자유롭게 해주고 협업 시에 코드가 날아가거나 성급한 작성으로 수많은 error를 마주하는 상황에서 벗어나게 해줄 것이다.


본문

git branch

기본적으로 로컬에 .git 폴더를 생성해주고 git과 vscode를 연동해준 후, 옵션을 지정하지 않고

$ git branch

를 실행하면 브랜치 목록 전체를 확인할 수 있다.

위 사진은 현재 프로젝트에는 브랜치가 master, pactice/1st 두 개가 있다는 것을 보여주며, practice/1st 위에 프로젝트가 있다는 것을 나타낸다.
우리가 따로 브랜치를 생성하기 이전에는 현재 repository를 만들면서 default로 생성되는 main이라는 branch에 앞 부분 * 이 붙어있는 것을 볼 수 있다. 현재 선택된 브랜치라는 뜻이다.

브랜치 생성, 삭제, 이름 변경

브랜치를 생성, 수정, 삭제하는 기본적인 명령은 아래와 같다.

$ git branch [브랜치명] // 브랜치 생성
$ git branch -d [브랜치명] // 브랜치 삭제
$ git branch -m [기존 브랜치명] [바뀔 브랜치명] // 브랜치 이름 변경

브랜치 전환

워킹 디렉토리의 소스를 특정 위치로 이동시키려는 경우 사용한다.

HEAD 라는 포인트가 특정 커밋 위치나 브랜치 위치로 이동하면 거기에 커밋이 수행된다는 것이다.

관련해서는 아래 브랜치 내부 동작 이해를 살펴보도록 하자.

$ git checkout [브랜치명] // 특정 브랜치로 워킹 디렉토리 변경
$ git checkout [Commit ID] // 특정 커밋으로 워킹 디렉토리 변경
$ git checkout -- [파일경로] // 특정 파일을 해당 브랜치 또는 커밋 상태로 변경 
profile
노트북과 눈싸움이 일상인 프론트준비생

0개의 댓글