안녕하세요.
이번에는 Git의 Branch 기능에 대해서 알아보겠습니다.
Git
- 소스 코드를 효율적으로 관리하기 위한 프로그램
Branch
- 여러 명이 작업 시 독립적으로 작업을 하기 위해 필요한 개념
Branch의 종류
1. branch -master
- 제품으로 출시될 수 있는 브랜치
- 배포(Release) 이력을 관리하기 위해 사용
- 배포 가능한 상태만을 관리하는 브랜치
2. branch -develop
- 다음 출시 버전을 개발하는 브랜치
- 기능 개발을 위한 브랜치들을 병합하기 위해 사용
- 평소 개발을 진행할 떄 사용
3. branch -feature
- 기능 개발을 진행하는 브랜치
- 새로운 기능 개발 및 버그 수정을 할 때마다 'develop'에서 분기
- 로컬에서 작업 후 develop에 merge로만 공유
- 이름 : feature/~~
4. branch -release
- 출시 버전을 준비하는 브랜치
- 배포를 위한 전용 브랜치
- 이름 : release-0.0
5. branch -hotfix
- 출시 버전에서 발생한 버그 수정 브랜치
- 배포한 버전에 긴급하게 수정해야 할 필요가 있는 경우 사용
- Master에서 분기
- 이름 : hotfix-0.0.0
git branch
- 로컬 내의 branch 목록 확인
git branch
git branch 'test' (branch 이름)
- test 이름으로 branch 생성
git branch 'test'
git branch
git checkout test (branch 이름)
- test 이름의 branch로 이동
git checkout test
main에서 test로 변환된 모습을 볼 수 있습니다.
git push / git push origin
- master에서는 git push를 하면 되지만 branch를 변경 후에 하는 경우에는 git push origin test 식으로 입력해야 한다. (test: 브랜치 이름)
main에서 push 작업했을 때
git add .
git commit -m "feat: 2022-12-02"
git push
브랜치에서 push 작업할 때
git checkout test
git add .
git commit -m "feat: 2022-12-02 test"
git push origin test
git branch -d test
- test branch 삭제
- 단 branch가 main보다 최신인 경우에는 삭제되지 않고 경고 메시지가 출력됨
- *삭제 전에 다른 branch로 이동해야 함
git checkout main
git branch -d test
해당 메시지의 경우에는 ‘test’ 브랜치가 main보다 최신인 상황이므로 경고 메시지를 출력하는 것입니다.
git branch -d test
test 브랜치를 지울 거면 다른 브랜치로 이동한 후에 실행하라는 메시지입니다.
git branch -D test
- test bracn 삭제, 경고를 무시하고 삭제됨
- *삭제 전에 다른 branch로 이동해야 함
- *git branch -d(D) test 명령어로 삭제해도 remote에 있는 branch는 그대로 남아 있으므로 아래 명령어를 이용해서 삭제를 해야 함
git branch -D test
로컬에서는 branch를 지웠지만, 원격 저장소에는 아직 남아있는 것을 확인할 수 있습니다.
밑에서 명령어를 추가로 입력하면 원격 저장소에서도 삭제할 수 있습니다.
git push origin --delete test
- remote에 있는 test 브랜치를 삭제
git push origin --delete test
명령어 실행 후 확인하면 삭제된 것을 볼 수 있습니다.
git checkout -b test
- test 브랜치를 생성하고 이동까지 함
git checkout -b test
Merge
(main) git merge a
- main에 a branch 내용을 합침
git checkout main
git merge test
Merge의 경우 상황에 따라서 케이스가 존재하기 때문에 다음 글에서 이어서 알아보도록 하겠습니다.
감사합니다.
반응형
'IT 기타' 카테고리의 다른 글
[Git] Git의 다른 명령어에 대하여 간단하게 알아보기 (0) | 2023.01.30 |
---|---|
[Git] Git Merge에 대하여 알아보기 (0) | 2023.01.29 |
[기타] 서버에 대하여 간략하게 알아보기 (0) | 2023.01.27 |
[VSCode] VS Code HTML 자동 양식 생성 방법 및 크롬 개발자 모드 (0) | 2022.11.29 |
[VSCode&Git] VSCode 설치 및 Git 설치하기 (0) | 2022.11.25 |