Git 을 사용하다보면 현재 개발 중인 프로젝트에서 추가 기능을 구현하고 싶을 때가 있다.
해당 기능을 바로 구현해보려고 시도할 수도 있지만, 현재 작업 중인 프로젝트에 영향을 끼치지 않고
따로 개발을 진행해야 하기에 다른 방법이 필요하다.
이 때 사용할 수 있는 방법이 브랜치 이다.
브랜치(Branch) 는 분기된 가지를 의미하며 일종의 복사본이라고 볼 수 있다.
기본적으로 main 이라는 브랜치 에서 개발을 진행하게 되는데,
개별적인 기능을 구현하고 싶다면 새로운 브랜치 를 생성하여 독립적으로 개발을 진행할 수 있다.
$ git branch 브랜치이름main 브랜치로 설정되어 있다.$ git switch 브랜치이름혹은$ git checkout 브랜치이름$ git branch 확인 후 빠져나오려면 q를 입력하면 된다.$ git switch -c 브랜치이름 혹은$ git checkout -b 브랜치이름$ git branch -d 브랜치이름$ git merge 병합할브랜치이름 이 때는 우선 최종 브랜치로 이동을 한 이후 다음 명령어를 사용하면 된다.merge 의 경우 분기된 두 브랜치를 하나의 커밋으로 병합하는 방식인데,$ git rebase 최종브랜치이름 rebase 의 경우 한 줄로 내역을 정리해버리는 명령어이다.merge 와는 달리 병합할 브랜치로 이동을 한 이후 최종 브랜치를 rebase 명령어를 통해 병합한다.우선 로컬에서 앞으로 작업할 브랜치를 생성한다.
$ git branch 브랜치이름
이후에 다음 명령어를 통해 원격 저장소에 로컬 브랜치를 push 할 수 있다.
$ git push --set-upstream 원격저장소이름 브랜치이름
혹은
$ git push -u 원격저장소이름 브랜치이름
다음 명령어를 통해 원격의 변경사항을 확인한다.
$ git fetch # 원격의 변경사항 확인
$ git branch -a # 모든 브랜치 확인
그리고 다음 명령어를 통해 원격 저장소의 브랜치를 가져온다.
$ git checkout -t 원격저장소이름/원격브랜치이름
원격 저장소의 브랜치는 다음과 같이 삭제할 수 있다.
$ git push 원격저장소이름 --delete 원격브랜치이름
.gitignore 파일을 사용하여 불필요한 파일이나 디렉토리를 Git 추적에서 제외시킨다.협업하는 과정에서 브랜치는 효율적이고 안정성을 높이는 데 큰 도움이 되는 전략이라고 생각한다.
기본 개념을 충분히 숙지하여 협업 시 효과적으로 활용할 수 있도록 노력해야겠다.