Git Branch 활용

2067 단어 branchgitgithubbranch

Branch

분기점을 생성해서 독립적으로 코드를 변경할 수 있도록 도와주는 모델 (멀티버스)
Software개발시 개발자들은 동일한 소스코드 위에서 신규 개발, 버그 수정 등의 업무를 협업하곤 한다.
이럴 때, 여러 개발자들이 동시에 다양한 작업을 할 수 있게 만들어 주는 기능이 "Branch" 이다.

Branch를 통해 하나의 프로젝트를 여러 갈래로 나누어서 관리할 수 있다. 각각의 독립된 Branch에서 마음대로 소스코드를 변경하여 작업 한 후 원래 버전과 비교하여 또 하나의 새로운 버전을 만들어 낼 수 있다.

현재 내가 위치한 Branch 확인

Branch 목록이 뜨고 내가 위치한 곳은 초록색 글씨와 애스터리스크가 붙어있다.

$ git branch (또는 git status로 확인 가능하다)

커밋 메시지 확인

현재 Branch의 마지막 커밋 메세지를 확인할 수 있다.

$ git branch -v

Branch 생성

이 Branch에서 어떤 작업을 하는지 명시하는 것이 효율이 높다.

$ git branch [브랜치 이름]

Branch 이동

git2.23버전부터 git checkout을 대신해서 switch가 나왔다.
Branch를 전환하기 전에 변경사항을 commit한다.
그렇지 않으면 변경사항이 Branch를 넘나들어서 작업에 혼란이 온다.

$ git switch [브렌치 이름]

Branch 병합

병합할 Branch를 가져온다.
병합 했을 때에 텍스트 라인이 같은 줄수에 있으면 충돌(conflict)이 나는데 병합한 브렌치에서 텍스트 정리만 해주면 된다.

$ git merge [가져올 Branch]

Git Flow 전략

다섯가지 Branch를 활용해서 소스 코드 형상/이력 관리를 효율적으로하고 협업할 때 발생할 수 있는 문제점을 최소화할 수 있는 전략

설치 및 실행방법
Git Flow Cheatsheet

다섯가지 Branch

  • main
  • develop
  • feature
  • release
  • hotfix

깃허브 프로젝트에 develop branch를 첫 푸쉬 해줄때에는 Upstreaming set을 해야한다

main은 최종적으로 사용자에게 적용될 때 푸쉬되고 (Release가 끝났을 때)

develop은 개발자들이 협업을 할때 푸쉬된다. (feature가 끝났을 때)
다른 개발자의 작업을 pull받아 feature로 끌고 간다.

좋은 웹페이지 즐겨찾기