개인적으로 프로젝트를 진행하는데,

처음에는 마스터에서 커밋하고 수정사항을 진행했었다.

그런데 commit 메시지가 너무 지저분해지기도 하고,

다른 사람들과 협업하면 Branch를 꼭 사용해야 할 것 같아서 작성한다.

 

보통 GitHub에서,

  • 최종 배포용 (master)
  • 개발용 (develop)
  • 세부 기능 개발용 (feature) 

의 3가지 브랜치로 나뉘어 사용하는 것 같다.

(Realease 브랜치와 hotfix 브랜치는 다음에 이해하는 걸로 하고 생략함)

 

  1. 최초 master에서 develop 브랜치를 만들고,
  2. 각 기능들을 feature 브랜치에서 개발해 develop 브랜치로 merge 한 뒤,
  3. 최종 버전을 master에 올린다.

이미지 출처 : https://nvie.com/posts/a-successful-git-branching-model/


 

Git branch 명령어

1
$ git checkout -b feature/myFeature develop
cs

 

최초 develop 브랜치에서 분기해 myFeature이라는 브랜치를 만든다. 

(myFeature에는 개발하고 싶은 기능을 작성하면 된다. login, logout, signIn....)

이후 내가 구현하고 싶은 기능을 구현한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
# 기능 구현이 끝나면 develop branch로 이동한다.
$ git checkout develop
 
# develop 브랜치에 구현한 내용을 합친다.
# --no-ff 옵션은 myFeature 브랜치의 commit 이력을 모두 합쳐 하나의 commit 내역을 만든다.
$ git merge --no-ff feature/myFeature
 
# myFeature 브랜치를 삭제한다.
$ git branch -d feature/myFeature
 
# develop 브랜치를 원격 저장소에 push 한다.
$ git push origin develop
cs

 

merge 말고 rebase에 대한 것도 정리하고 싶었는데,

우선 브랜치부터 제대로 사용하고 다음에 직접 사용해봐야겠다.

 

끝.

잘못된 정보나, 더 편리한 사용방법, 다른 의견은 댓글 부탁드립니다.

 

참고

A successful Git branching model

 

+ Recent posts