개인적으로 프로젝트를 진행하는데,
처음에는 마스터에서 커밋하고 수정사항을 진행했었다.
그런데 commit 메시지가 너무 지저분해지기도 하고,
다른 사람들과 협업하면 Branch를 꼭 사용해야 할 것 같아서 작성한다.
보통 GitHub에서,
- 최종 배포용 (master)
- 개발용 (develop)
- 세부 기능 개발용 (feature)
의 3가지 브랜치로 나뉘어 사용하는 것 같다.
(Realease 브랜치와 hotfix 브랜치는 다음에 이해하는 걸로 하고 생략함)
- 최초 master에서 develop 브랜치를 만들고,
- 각 기능들을 feature 브랜치에서 개발해 develop 브랜치로 merge 한 뒤,
- 최종 버전을 master에 올린다.
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
'이론 > 프로그래밍' 카테고리의 다른 글
[Java] Static 키워드에 대해 (0) | 2022.05.18 |
---|---|
Redis 정리 (사용 이유, 활용 사례, 주의사항, 등) (0) | 2022.01.10 |
[Python] list, tuple, set, dictionary (0) | 2020.08.21 |
쿠키와(cookie)와 세션(session)의 차이 (0) | 2020.08.19 |
HTTP 요청 메소드의 종류와 HTTP 메시지에 대해서 (0) | 2020.08.18 |