[Git] 브랜치 관리와 고급 기능 Chapter - Git Branch

윤후·2022년 3월 24일
0

Section 3

목록 보기
38/41

우리는 앞서 Git 기초에서 개발자들이 협업하기에 최적의 툴이라는 것을 배웠다. 소프트웨어를 개발할 때에 개발자들은 동일한 소스코드를 함꼐 공유하고 다루게 된다. 동일한 소스코드 위에서 어떤 개발자는 버그를 수정하기도 하고 또 다른 개발자는 새로운 기능을 만들어 내기도 한다. 이처럼 여러 사람이 동일한 소스코드를 기반으로 서로 다른 작업을 할 때에는 서로 다른 버전의 코드가 만들어 질 수 밖에 없다.

이런 경우 여러 개발자가 동시에 서로 다른 작업을 할 수 있게 만들어주는 기능이 바로 "브랜치"이다.

브랜치


브랜치란 독립적으로 어떤 작업을 진행하기 위한 개념이다. 개발을 하다보면 한 페이지 안의 여러 기능을 따로 구현하기 위해, 코드를 여러개로 복사해야하는 일이 자주 생긴다. 브랜치의 기능을 활용하면 코드를 통째로 복사한 후 원래코드가 변결될 우려 없이 독립적으로 개발할 수 있다.
즉, 각각의 브랜치는 다른 브랜치의 영향을 받지 않기 때문에 여러 작업을 동시에 진행할 수 있다.

여러명이서 동시에 작업을 할 때, 다른 사람의 작업에 영향을 주거나 받지 않도록 먼저 통합 브랜치에서 자신의 작업전용 브랜치를 만든다.

그리고 각자 브랜치에서 맡은 영역에 대한 작업을 진행한 후 작업이 끝난 브랜치는 통합 브랜치에 병합해서 변경 사항을 적용한다. 이를 통해 다른 브랜치의 작업에 영향을 받지 않고 독립적으로 특정작업을 수행하고 그 결과를 하나로 모아 나가게 된다. 이렇게 작업을 진행하게 되면 "작업 단위" 즉, 브랜치로 그 작업의 내용들이 모두 기록되기 때문에 문제가 발생했을 때 원인이 되는 작업을 찾아내거나 그에 따른 대책을 세우기 쉬워진다.

브랜치 명령어 모음


새로운 브랜치 생성

  • git branch 브랜치_이름

새로운 브랜치 생성 후 해당 브랜치로 전환

  • git switch -c 브랜치_이름
  • git checkout -b 브랜치_이름

브랜치 목록 확인

  • git branch

브랜치 목록과 각 브랜치의 최근 커밋 확인

  • git branch -v

브랜치 삭제

  • git branch -d (삭제할)브랜치_이름
  • git branch -D : 해당 명령어는 병합하지 않은 브랜치를 강제 삭제하는 방법이다.

브랜치 전환

  • git switch 브랜치_이름
  • git checkout 브랜치_이름

브랜치 병합

: dev 브랜치를 master 브랜치로 병합할 때(dev -> master)

  • git checkout master
  • git merge dev

로그에 모든 브랜치를 그래프로 표현

  • git log —branches —graph —decorate

아직 commit 하지 않은 작업을 스택에 임시로 저장

  • git stash
profile
궁금한걸 찾아보고 공부해 정리해두는 블로그입니다.

0개의 댓글

관련 채용 정보