Git
[Git] feature branch
qoth_0
2023. 12. 20. 09:36
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 브랜치명 : 리모트 브랜치도 삭제
- git fetch origin
실습

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에 합쳐달라고 요청하는 것

this branch has no confilicts - 충돌없음
merge pull request

반영 완료

소스트리를 보면

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

pull origin main

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

push

다 적용 완료
728x90
반응형