Github-flow : git 브랜치 전략

전주은·2022년 12월 17일
0
post-thumbnail

브랜치 전략

여러 개발자가 하나의 저장소를 사용하는 환경에서 저장소를 효과적으로 활용하기 위한 work-flow 입니다.
브랜치의 생성, 삭제, 병합 등 git의 유연한 구조를 활용해서 각 개발자들의 혼란을 최대한 줄이며 다양한 방식으로 소스를 관리하는 역할을 한다.
브랜치 전략의 종류는 3가지로 다음과 같이 나뉩니다.

  • git-flow
  • github-flow
  • gitlab-flow
    오늘은 그중에서도 가장 간단한 브랜치 전략 github-flow에 대해서 자세히 살펴보고자 합니다. 이때 master 브랜치는 바로 배포가능하도록 에러없고, 페이지가 모두 로드 될 수 있는 상태여야만 합니다!

Github flow process

  1. 새로운 브랜치 생성 한다. 이때 브랜치 이름을 통해 의도를 명확하게 드러낸다.
  2. 개발: 생성된 브랜치 안에서 열심히 버전(commit)을 남기며 개발한다.
    이때 커밋 메세지를 최대한 상세하게 적어준다.
  3. PR(pull-request) 생성: 개발이 완료되면
  4. 리뷰: 팀원들과 개발된 부분에 대해 논의한다.
  5. 최종 merge: master 브랜치에 푸시한다.

사용법

  1. git에 내 이메일이 연동 됬는지 확인

    cmd창에:
    git config –get user.name
    git config –get user.email

잘못설정 되었다면 바꾸기
이름 설정하기(local, global or system)
git config --global user.name "je"
이메일 설정하기
git config --global user.email "jje320594@gmail.com"

  1. Repo clone

    1) github에 이미 있는 리포에 가서 code 버튼 클릭
    2) url 복사
    3) cmd 창에 cd [폴더위치] (원하는 위치로 이동)
    4) git clone [URL] (url 붙혀놓기)

  2. git collaboration

    cmd로 clone된 폴더 안에 들어가기
    1) git checkout –b [branch-name]
    2) git add .
    3) git commit –m “[commit message]”
    4) git push orgin [branch-name]
    5) 깃허브에 pull request 검사

로컬 저장소에 github 저장소 주소 설정
로컬 저장소에(내 컴퓨터 git) github 저장소 주소를 설정
git remote add origin [repository주소]
origin: original 주소라는 말 (관례)
로컬 저장소에(내 컴퓨터 git) github 저장소 주소를 변경
git remote set-url origin 변경될 주소
로컬 저장소에 설정한 주소를 확인
git remote -v
로컬 저장소에 설정한 주소 삭제
git remote rm origin

6)  Create pull request 클릭

7)	리뷰 후 Merge pull request 클릭

+ git pull origin main :메인에서 수정된 부분 내 브렌치로 끌어오기
+ git stash (commit 하기전 다른 브렌치로 이동할경우 현재 작업한거 저장)
+ git stash apply (다시 내 브렌치로 돌아온 후 commit하지 않았던거 다시 불러오기)
리뷰하는 법 링크:https://devlog-wjdrbs96.tistory.com/231
  1. Branch 메인으로 옮기기

    1) git branch (현재 위치 확인하기)
    2) 메인에 위치해 있지 않을 경우, git checkout main
    3) git pull origin main (내 로컬이 업데이트 된걸 확인)
    4) git merge [branch-name] (메인에 브렌치 끌어오기)
    5) git push origin main (github에 올리기)

참고내용

git-flow
- 브랜치를 설정하고 운영하는 방식
Master: 제품으로 출시될 수 있는 브랜치
developer: 다음 출시 버전을 개발하는 브랜치
Feature: 기능을 개발하는 브랜치
Release: 이전 출시 버전을 준비하는 브랜치
Hotfix: 출시 버전에서 발생한 버그를 수정하는 브랜치

github-flow
- 브랜치만으로 운영하는 방식
main: 제품으로 출시될 수 있는 브랜치
Feature: 기능을 개발하는 브랜치


참고
https://hyeon9mak.github.io/git-branch-strategy/
https://github.com/nvie/gitflow

0개의 댓글