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
반응형
'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 |