git flow 스터디

ㅇ.ㅇ·2023년 5월 4일

Git 브랜치 전략 - Git Flow

  • main(master) : 기본/메인/제품 브랜치
  • dev(develop) : 다음 제품 출시를 위해 여러 기능을 병합하는 브랜치
  • feature/* : 각 기능 개발을 위한 브랜치
  • release : 이번 제품 출시 직전 최종 테스트(QA)를 위한 브랜치
  • hotfix : 제품에 버그가 확인되었을때 긴급 수정을 위한 브랜치

branching models

  • git flow
    • (hotfix) - master (release) - develop - feature
    • pros: 가장 많이 적용, 각 단계까 명확히 구분
    • cons: 복잡
  • github flow
    • master -feature
    • pros: 브랜치 모델 단순화, master의 모든 커밋은 deployable
    • cons: CI 의존성 높음. 누구 하나라도 실수했다간..(pull request로 방지)
  • gitlab flow
    • production - pre-production - master - feature
    • pros: deploy, issue에 대한 대응이 가능하도록 보완
    • cons: git flow와 반대(master-develop, production-master)

github flow startegy

gitlab flow strategy

use git flow

git-flow cheatsheet
⇒ git flow를 편하게 사용할수있는 사이트

시작

팀장이 organization(조직)을 만든다.
plan -free로 토이프로젝트로 사용하기에 무리없다.
초대할유저를 추가할수있다.
organization 생성완료
사람초대는 people에서 할수 있다.
오너를 주면 많은 권한을 준다. 보통은 팀장만 오너를 주고 나머지는 멤버를 준다.
레포비토리 생성

이슈작업

팀단위면 스프린트단위로 돌아야되기때문에 먼저 스프링단위 마일스톤을 잡는다.
할일들을 큰단위로 적는다.
라벨 지정
이미 있는거 써도되지만 커스텀으로 해도된다.
기존존재하는 이슈데이터를 지우고 레이블생성
priority 레이블생성
Type 레이블 생성
enhancement : 기능개발
버그 : 에러
도메인 레이블 생성

이슈 템플릿 생성

세팅페이지에서 이슈 템플릿생성
버그리포트 생성
스프린트 백로그 생성
설명 →abstract 디테일설명 ,tasks(해야할일들)
레이블→priority 3개 설정

propose changes 클릭
이슈작성
이슈와 풀리퀘스트는 넘버링을 같이하여서 이슈1,2을 만들면 풀리퀘스트진행할때 3로 진행된다.

팀레포에다가 작업하지않고 포크를해서진행한다.
메인브랜치온리빼고진행→모든브랜치가져오기
메인브랜치에서 브랜치따기
깃브랜치스위치하기
파일생성

vi fizzbuzz
def do_fizzbuzz(num: int):
	prrint(f'hello {num}')

if __name__ == '__main__':
	do_fizzbuzz(1)

:wq

pyenv activate sup-winner-311

python fizzbuzz.py

git status

git add fizzbuzz.py
git commit

팀레포에 가서 내가 작업할 이슈확인하기

그다음 작업 진행

git status

tasks에 있는 내용으로 작업
자기가 포크뜨고 브랜치새로판 feature 브랜치 푸시

git push -u origin features/fizzbuzz

featrue 브랜치가 메인레포에 업데이트가 될것이다.

풀리퀴스트 넘기기

closes
fixed
resolve #1

이 이슈를 넣으면 1번이슈가 해결된다. resolve #1

어사인→작업자 넣기
마일스톤 설정
다른플랫폼에서하지말고 코멘트는 여기서 적어야 히스토리가 남는다.

Projects 생성

3명정도이상 있으면 보기힘들기에 보드를 설정
이번주 스프린트단위만 적는다.
아까 만든 이슈추가
피처브랜치 작업이 끝나면 지우기
참조 받을때
팀의 변경사항이 내 로컬에 쌓인다

git 툴

  • 소스트리
  • 깃크라켄

레퍼런스

https://goo-gy.github.io/2022-07-24-git-flow
https://github.com/skills/release-based-workflow
https://faun.dev/c/stories/manuelherrera/git-branching-strategies-in-2022/

profile
기록과 정리하는것을 계속해서 하려고 노력중이에요 😊

0개의 댓글