본문 바로가기
Git

[Git] feature branch

by qoth_0 2023. 12. 20.
728x90
반응형

feature branch 작업

  • 실제 현업에선 branch1, branch2, dev, main 등 여러 브랜치로 관리
    • 브랜치란 버전과 다르게 개발의 경로를 의미
    • 일반적으로 production 관련 브랜치는 main, 개발용 브랜치는 dev
    • 나머지는 task별(기능별)로 개별적으로 만들어서 사용 → feature브랜치라 칭함
    • 각각의 로컬 feature branch에서 작업 후 origin/feature로 push
    • Pull Request(pr)를 통해 dev에 merge - dev입장에서 pull
    • dev에서 main으로 최종 merge하는 과정이 현업에서의 브랜치 관리
  • 주요 명령어
    • git fetch origin
      • local 레파지토리로 모든 브랜치정보 fetch
    • git branch
      • 현재 저장소에 있는 모든 브랜치 목록
    • git branch 특정브랜치명
      • 특정브랜치명으로 새로운 브랜치를 생성하는 명령어
      • 기존에 checkout 되어있던 브랜치 기준으로 신규 브랜치 생성
        • main을 pull 해주고 만들어야 함
    • git checkout 브랜치명
      • 현재 브랜치에서 다른 브랜치인 브랜치명으로 전환하는 명령어
    • git checkout -b 브랜치명
      • 새 브랜치를 생성하고 해당 브랜치로 전환
    • branch 삭제
      • 삭제시에는 다른 브랜치로 checkout 한 후에 삭제해야 함에 유의
      • git branch -D 브랜치명 : 로컬브랜치삭제
      • git push origin --delete 브랜치명 : 리모트 브랜치도 삭제

실습

branch1 생성, 이동

push

origin/branch1에 반영 완료

checkout main 후

test_main 파일 생성

main으로 푸쉬

origin/main 반영 완료

checkout branch1 하고 파일생성

add, commit, push

origin/branch1에 반영 완료

Compare & pull request

내용 작성

create pull request - main에 합쳐달라고 요청하는 것

pull request 내용 확인 가능 files changed에 코드 내용 보임

this branch has no confilicts - 충돌없음

merge pull request

반영 완료

소스트리를 보면

branch1은 merge한 내용이 반영 안되어있음 - branch1의 내용만 main에 합쳤기 때문

pull origin main

로컬 branch1은 반영됨 - origin/branch1에도 반영 시켜줘야함

push

다 적용 완료

728x90
반응형

'Git' 카테고리의 다른 글

[Git] merge 전략  (0) 2023.12.21
[Git] tag  (0) 2023.12.19
[Git] stash  (0) 2023.12.18
[Git] case별 git pull  (1) 2023.12.15
[Git] diff, fetch  (0) 2023.12.13