git의 branch

citron03·2022년 2월 23일
0
  • git branch를 이용하여 하나의 소스코드에서 여러 작업을 독립적으로 할 수 있게 된다.
  • 코드가 전부 새로운 브랜치로 통해 복사되고 기존의 코드가 변경될 우려가 없다.
  • 현재 작업중인 브랜치를 다른 브랜치와 병합(merge)를 통해서 수정된 내용을 포함하는 새로운 하나의 브랜치로 만들 수 있다.

🧄 여러 명이 함께 작업을 할 때, 배포될 소스코드가 기록되는 통합 브랜치(Integration Branch)에 자신이 작업할 브랜치를 하나 만든다.

🧄 깃허브 저장소를 만들면 기본적으로 main 브랜치가 생긴다. 기존의 저장소라면, master일 수도 있다. 이 통합 브랜치에 해당 프로젝트에서 모든 기능이 정상적으로 작동하는 상태의 소스코드가 담겨져 있다.

🥬 기능 추가나 버그 수정과 같은 단위 작업을 위한 브랜치를 피처 브랜치(Feature Branch) 혹은 토픽 브랜치라고 부른다. 통합 브랜치로부터 만들어 낸다.

브랜치의 장점

  • 각각의 브랜치는 다른 브랜치의 영향을 받지 않는다. 따라서 동시에 다양한 여러 작업을 할 수 있다.

  • 소스코드의 한 시점과 동일한 상태를 만든다. 이를 통해서 원하는 시점으로 브랜치를 넘나들며 작업할 수 있다.

  • 현재 브랜치에서 작업한 변화가 다른 브랜치에 영향을 주지 않는다. 따라서 독립적으로 개발할 수 있다.

  • 작업이 완료되고, 작업한 결과를 merge를 통해서 기존의 branch와 합칠 수 있다.

  • 독립적으로 자신의 브랜치를 만들어 작업한 뒤 통합 브랜치에 병합하여 변경사항을 적용하면, 브랜치의 작업 내용들이 모두 기록되기 때문에 문제가 발생해도 원인이 되는 작업을 찾고 해결하기 쉬워진다.

🍍 Git Graph를 통해서 브랜치의 상태를 확인할 수 있다. 이를 통해서 작업의 흐름을 더 쉽게 파악할 수 있다.
🍍 git log --branches --graph --decorate

깃 브랜치 명령어들

  • git branch
    현재 깃 저장소의 브랜치 목록을 보여준다.
    -v 옵션을 통해 최근 커밋을 확인할 수 있다.

  • git branch 새로운 브랜치 이름
    새로운 브랜치를 만든다.

  • git branch -d 삭제할 브랜치 이름
    브랜치를 삭제한다.
    -d 대신에 -D 옵션을 사용함으로써 병합하지 않은 브랜치를 강제로 삭제한다.

  • git checkout 브랜치 이름
    해당 브랜치로 전환한다.
    -b 옵션을 사용하면, 해당 브랜치 이름으로 새로운 브랜치를 만들고 새 브랜치로 전환한다.

  • git switch 브랜치 이름
    해당 브랜치로 전환한다.
    -c 옵션을 사용하면, 해당 브랜치 이름으로 새로운 브랜치를 만들고 새 브랜치로 전환한다.

  • git merge 브랜치 이름
    현재 브랜치에 해당 브랜치 이름의 브랜치를 병합한다.
    🫑 현재 브랜치 위치가 master인데, 여기에서 git merge dev를 하면, master 브랜치로 dev 브랜치를 병합시킨다.

  • git stash
    커밋하지 않은 작업 내용을 스택에 임시로 저장한다.

🐑 git branch로 작업한 내용을 remote 저장소에 올리기 위해서 git push reomte-저장소-이름 작업한-branch-이름 을 한다.

참고 자료 출처 : 코드 스테이츠

profile
🙌🙌🙌🙌

0개의 댓글