반응형
Git은 분산 버전 관리 시스템으로, 프로젝트를 효과적으로 관리하고 팀 협업을 가능하게 합니다. 그중 브랜치(branch)는 프로젝트에서 중요한 개념 중 하나로, 새로운 기능 개발이나 버그 수정 등 독립적인 작업을 안전하게 진행할 수 있게 합니다.
Git Branch를 생성하는 이유
- 독립된 작업 공간 제공
브랜치를 생성하면 현재 프로젝트의 상태와는 별도로 독립적인 작업 공간이 생깁니다. 이를 통해 기존 코드에 영향을 주지 않고 새로운 작업을 진행할 수 있습니다. - 팀 협업의 효율성 향상
여러 개발자가 동시에 작업할 때, 각각의 브랜치에서 작업을 하므로 충돌 가능성을 줄이고 병합(Merge)을 통해 결과물을 통합할 수 있습니다. - 리스크 관리
새로운 기능이나 대규모 변경 작업 시, 메인 브랜치(main 또는 master)에 직접 작업하면 문제가 발생했을 때 되돌리기가 어렵습니다. 브랜치를 활용하면 안정적인 상태를 유지할 수 있습니다.
Git Branch 생성 방법
1. 새로운 브랜치 생성
다음 명령어를 사용하여 새로운 브랜치를 생성할 수 있습니다:
git branch 브랜치이름
예시 출력
git branch feature/login
위 명령어는 feature/login이라는 이름의 새 브랜치를 생성합니다. 그러나 현재 브랜치는 여전히 이전 브랜치에 머물러 있습니다.
새로 생성한 브랜치로 변경 (체크아웃)
브랜치를 생성한 후 해당 브랜치로 이동하려면 git checkout 명령어를 사용합니다:
git checkout 브랜치이름
예시 출력
git checkout feature/login
위 명령어는 feature/login 브랜치로 이동하여 해당 브랜치에서 작업을 시작합니다.
브랜치 생성과 이동을 한 번에 하기
Git 2.23 이후 버전에서는 git switch 명령어를 사용하여 브랜치를 더 쉽게 생성하고 이동할 수 있습니다:
git switch -c 브랜치이름
예시 출력
git switch -c feature/login
위 명령어는 feature/login이라는 브랜치를 생성하고, 생성된 브랜치로 바로 이동합니다.
현재 브랜치 확인
현재 작업 중인 브랜치를 확인하려면 다음 명령어를 사용합니다:
git branch
예시 출력
main
* feature/login
* 표시는 현재 작업 중인 브랜치를 나타냅니다.
브랜치 병합
작업을 완료한 후, 새로운 브랜치를 메인 브랜치에 병합하려면 다음과 같이 합니다:
git checkout main
git merge feature/login
이후, feature/login 브랜치를 삭제하여 정리할 수 있습니다:
git branch -d feature/login
예시 출력
머지 전 상태
main
|
* Commit 3: Latest changes on 'main'
|
* Commit 2: Previous work on 'main'
|
* Commit 1: Initial project setup (common commit)
|
feature/login
|
* Commit 6: Completed login feature
|
* Commit 5: Enhanced login form UI
|
* Commit 4: Added basic login functionality
|
* Commit 1: Initial project setup (common commit)
|
- main 브랜치는 Commit 3까지 작업이 진행된 상태.
- feature/login 브랜치는 Commit 6까지 독립적으로 작업된 상태.
머지 후 상태
main
|
* Commit 7: Merge branch 'feature/login' into 'main' (merge commit)
|\
| * Commit 6: Completed login feature
| * Commit 5: Enhanced login form UI
| * Commit 4: Added basic login functionality
|/
* Commit 3: Latest changes on 'main'
|
* Commit 2: Previous work on 'main'
|
* Commit 1: Initial project setup (common commit)
|
- 머지 후, main 브랜치는 feature/login의 변경 사항을 포함하게 됩니다.
- Commit 7은 머지 커밋으로, main과 feature/login의 작업 결과를 통합한 상태를 나타냅니다.
반응형
'Programming' 카테고리의 다른 글
Git Commit 내용을 수정하는 방법 (0) | 2024.12.11 |
---|---|
Git Cherry-pick (특정 커밋만 선택적으로 가져오기) (1) | 2024.12.10 |
Git에서 삭제되지 않는 원격 브랜치 삭제 방법 (0) | 2024.11.28 |
C++에서 이차원 배열 초기화 및 사용법 (0) | 2024.11.19 |
C++ Queue 초기화 방법 (0) | 2024.11.16 |