차주 팀 프로젝트 진행 전 이전 학습했던 Git, Github 학습을 진행하고 기록해보려 합니다.
Git branch
Git branch란, Git에서 코드를 변경하고 저장하는데 사용되는 가장 기본적인 개념 중 하나입니다.
Git branch를 사용하면 여러 작업을 동시에 수행할 수 있으며, 변경 사항을 다른 브랜치에 적용하고 병합 (하나의 애플리케이션을 여려 멍이서 협업하여 개발하고자 할 때 필수적으로 활용되는 개념)할 수 있습니다.
쉽게 설명해 하나의 문서를 작성하는데 실수를 방지하기 위해 복사본을 만들어 놓은 뒤, 해당 복사본을 작업하는 방식으로도 생각할 수 있습니다.
실제 개발을 진행할 때 복사본을 만들어가며 진행하는 것은 사실상 불가능하기 때문에 branch 를 활용하고는 합니다.
( ** Git의 흐름을 시각화하여 보여주는 사이트가 있어 함께 첨부하오니, 충분히 연습하고 적응한 뒤 팀프로젝트를 진행해보는 것을 추천드립니다. )
https://git-school.github.io/visualizing-git/
Git branch 이점
branch 의 이점을 정리하면 다음과 같습니다.
- 독립된 작업 공간:
- branch 를 사용하면 main 코드베이스와 독립적으로 작업할 수 있습니다. 새로운 기능을 개발하거나 버그를 수정하는 동안 메인 브랜치(보통 main 또는 master)에 영향을 미치지 않습니다.
- 협업 효율성 증대:
- 여러 개발자가 동시에 다른 브랜치에서 작업할 수 있습니다. 이는 코드 충돌을 최소화하고, 각각의 작업이 독립적으로 진행될 수 있도록 합니다.
- 안전한 배포 및 릴리스 관리:
- 새로운 릴리스나 배포 전 브랜치를 사용하여 기능을 테스트 할 수 있습니다. 배포가 안정적인지 확인 후 main branch 에 병합할 수 있습니다.
- 코드 리뷰 및 품질 관리:
- 브랜치를 사용 Pull Request(또는 Merge Request)를 생성할 수 있습니다. 이는 코드 리뷰 프로세스를 거쳐 코드 품질을 보장할 수 있게 합니다.
- 이력 관리의 용이성:
- 브랜치를 사용하면 특정 기능이나 버그 수정을 추적하기가 쉬워집니다. 각 브랜치는 특정 작업이나 이슈에 대한 이력을 분명하게 나타내므로 나중에 추적하거나 롤백하기가 용이합니다.
- 실험 및 프로토타입:
- 새로운 아이디어나 실험적인 변화를 쉽게 시도할 수 있습니다. 실험적인 브랜치에서 작업하다가 실패하더라도, 메인 코드베이스에는 영향을 미치지 않습니다.
- 자동화와 CI/CD 통합:
- 브랜치를 활용하여 지속적 통합(CI) 및 지속적 배포(CD) 파이프라인을 설정할 수 있습니다. 예를 들어, 특정 브랜치에 push할 때마다 자동으로 테스트와 배포가 이루어지도록 설정할 수 있습니다.
이와 같은 이점들은 Git 브랜치를 사용하는 것이 현대 소프트웨어 개발에서 매우 중요한 이유를 설명해줍니다. 브랜치를 적절히 활용하면 개발 프로세스가 더 유연하고 효율적이며 안정적으로 유지될 수 있습니다.
Git branch 생성
새로운 git branch를 생성하기 위해 git branch 명령어를 사용합니다. 예를 들어 login 이름의 신규 브랜치를 생성하려면 다음과 같이 입력합니다.
jinkwon@hongjinkwon-ui-MacBookAir aProject % git branch login
새로운 브랜치를 만들면 현재 브랜치와 동일한 커밋에서 시작합니다. 따라서 이전 브랜치와 동일한 상태로 새로운 작업을 수행할 수 있습니다.
Git branch 전환
Git branch를 전환하려면,
git switch 또는 git checkout 명령어를 사용합니다. 예를 들어, login 브랜치로 전환하려면 다음과 같이 입력합니다.
jinkwon@hongjinkwon-ui-MacBookAir aProject % git switch login
jinkwon@hongjinkwon-ui-MacBookAir aProject % git checkout login
입력 시 현재 작업 중인 브랜치를 나타내는 HEAD 포인터는 선택한 login 브랜치로 이동합니다.
Git Branch Check
현재 Git Repository에 존재하는 모든 브랜치 목록을 확인하려면, git branch 명령어를 사용합니다.
jinkwon@hongjinkwon-ui-MacBookAir aProject % git branch
* 표시가 있는 브랜치는 현재 작업 중인(현재 위치하고 있는) 브랜치를 의미합니다.
Git Branch 생성 및 전환
브랜치를 새로 생성하고, 동시에 해당 브랜치로 이동하려면,
git switch -c 브랜치이름 또는 git checkout -b 브랜치이름 다음과 같이 명령어를 사용합니다. login 브랜치를 생성하면서 동시에 해당 브랜치로 전환시켜보겠습니다.
jinkwon@hongjinkwon-ui-MacBookAir aProject % git switch login
jinkwon@hongjinkwon-ui-MacBookAir aProject % git checkout login
결과적으로 프로젝트를 마무리하며, 최종 브랜치 (main 또는 master) 에 모든 브랜치 내용을 합쳐야하는데,
해당 부분은 다음 글에서 자세히 다뤄보도록 하겠습니다.