Git-flow 전략이란?
Git Flow 에는 항상 유지되는 branch : master(main), develop 이 있고, 일정 기간 동안만 유지되는 branch : feature, release, hotfix 가 있다
- master : 서비스로 배포 될 수 있는 브랜치
- develop : 다음 출시 버전을 개발하는 브랜치 ( develop 에서 완성되면 master로 merge 후 배포 )
- feature : 기능을 개발하는 브랜치
- release : 이번 출시 버전을 준비하는 브랜치
- hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
Git-flow의 전체 흐름
1. develop 브랜치를 main 브랜치에서 생성
2. release 브랜치를 develop 브랜치에서 생성
3. feature 브랜치를 develop 브랜치에서 생성
4. feature 브랜치가 완료되면 develop 브랜치에 merge
5. release 브랜치가 완료되면 develop 및 main 브랜치에 merge
6. main 브랜치에서 문제가 감지되면 hotfix 브랜치가 main 브랜치에서 생성
7. hotfix 브랜치가 완료되면 develop 및 main 브랜치에 merge
출처
https://techblog.woowahan.com/2553/
https://www.atlassian.com/ko/git/tutorials/comparing-workflows/gitflow-workflow
Git flow 전략은 대체로 이렇지만 난 토이프로젝트에서 수행하므로 main - develop - feature 세개의 브랜치만 사용했다.
1. Clone Repository (깃 repository 클론과정)
Git에 생성한 Repository 주소 복사
새로운 VScode 창 띄우기 -> Clone Repository -> 복사한 주소 붙여넣기
2. README.md 파일 생성
VScode 터미널에 아래 명령어 입력
echo "# backend" >> README.md
README.md 파일이 생긴다.
3. Commit / Push
새로 생성한 파일을 Commit -> Push 순서로 해준다.
먼저, Commit -> Commit All 선택
커밋 메세지는 first commit 으로 입력 (원하는 메세지로 입력)
메세지 입력 후 엔터를 누르면 commit 완료
이제 Push 를 해야한다.
Push 가 성공적으로 되었는지 Git Repository 가서 확인해보면 정상적으로 들어온 것을 볼 수 있다.
4. develop 브랜치 생성하기
main 브랜치에는 최종적으로 배포할 서비스를 올릴 것이므로
develop 브랜치를 생성해야한다.
미리 생성 해 둔 프로젝트 기본 설정 파일들을 이 폴더로 옮겨주었다.
Branch -> Create Branch -> develop
develop 브랜치를 생성한다.
develop 브랜치가 생성되면 아래와 같이 현재 커밋되는 브랜치가 develop 으로 변경된다.
이걸 잘 확인하고 commit/push 해야한다.
브랜치 확인 후 commit / push
정상적으로 push 되었다면 git 에 아래와 같이 뜬다.
5. default 브랜치 변경하기
작업을 develop 브랜치에서 할 것이므로 default 브랜치를 main -> develop 으로 변경해준다.
repository -> Settings -> Branches -> Default branch -> Swith 아이콘 클릭
main 을 develop 으로 바꾸고 Update 버튼을 클릭한다.
변경 된 것 확인
repository 에서도 develop 브랜치가 먼저 보이게 된다.
이슈 / Feature 생성하기는 여기에서!
https://yo-na.tistory.com/22?category=1254632
'개발 > Git' 카테고리의 다른 글
[GitLab CI/CD] gitlab-ci.yml 파일 설명 (0) | 2024.03.28 |
---|---|
[Github] mac github/gitlab 계정 폴더 별로 설정하기 (0) | 2023.05.25 |
[Git] fatal: repository 'https://github.com/.../' not found (0) | 2022.10.28 |
[Git] CI/CD 자동화 배포, 리액트 aws S3 에 자동으로 배포하기 (0) | 2022.03.09 |
[Git] Git Flow 방식으로 협업 / 프로젝트 관리하기 (0) | 2022.01.27 |