이번 글에서는 Git Flow를 사용하여 feature 브랜치를 생성하고 작업하는 방법을 자세히 알아볼게요. Git Flow의 강력한 브랜치 관리 시스템을 통해 개발자는 보다 체계적으로 기능을 개발하고 통합할 수 있습니다.
이 글에서 실제 예제를 통해 Git Flow에서 feature 브랜치를 생성하고 작업하는 과정을 알아보겠습니다.
feature 브랜치
feature 브랜치는 새로운 기능을 개발할 때 사용하는 브랜치입니다.
이 브랜치는 develop 브랜치에서 분기되어 새로운 기능 개발이 완료되면 다시 develop 브랜치로 병합됩니다. 이를 통해 개발자는 각 기능을 독립적으로 개발하고 테스트할 수 있습니다. feature 브랜치의 주요 특징입니다.
- develop 브랜치에서 분기됩니다.
- 기능 개발이 완료되면 develop 브랜치로 병합됩니다.
- 이름규칙: feature/[feature name]
feature 브랜치 생성
feature 브랜치를 생성하는 첫 번째 단계는 develop 브랜치에서 새로운 기능 브랜치를 분기하는 것입니다. Git Flow에서 이를 쉽게 수행할 수 있도록 명령어를 제공합니다.
# git 명령어
$ git checkout develop
$ git checkout -b feature/new-feature
# git flow 명령어
$ git flow feature start new-feature
🧑🏻💻 Git 명령은 Terminal
Git 명령어는 터미널에서 하는 것으로 연습합니다. 처음에는 어려울 수 있으나 익숙함의 차이라 생각합니다.
위 명령어를 실행하면 develop 브랜치에서 feature/new-feature 브랜치가 생성되고 해당 브랜치로 전환됩니다. 브랜치를 생성하고 switch 하는 내용을 자세하게 보고 싶다면 --showcommands 명령어를 합께 사용하면 됩니다.
$ git flow feature start new-feature
git config --local gitflow.branch.feature/new-feature.base develop
git checkout -b feature/new-feature develop
Switched to a new branch 'feature/new-feature'
Summary of actions:
- A new branch 'feature/new-feature' was created, based on 'develop'
- You are now on branch 'feature/new-feature'
Now, start committing on your feature. When done, use:
git flow feature finish new-feature
내용을 보시면 develop 브랜치에서 새로운 브랜치를 만들었기 때문에 based on 브랜치는 develop이라는 사실까지 나와있습니다.
이제 새로운 기능 개발을 시작할 준비가 되었습니다.
feature 브랜치에서 작업하기
새로운 기능 브랜치가 생성되었으니 이제 기능 개발을 시작할 수 있습니다. 예를 들어, 새로운 기능을 추가하고 변경 사항을 커밋합니다.
# 새로운 파일 추가
$ touch new-feature-file.txt
$ echo "This is a new feature" > new-feature-file.txt
# 변경 사항 스테이징
$ git add new-feature-file.txt
# 변경 사항 확인
$ git status
# 변경 사항 커밋
$ git commit -m "Add new feature file"
touch는 새로운 파일을 생성하는 Linux 명령어입니다.
echo는 따옴표(")로 감싼 내용을 화면에 출력하게 하는 명령어입니다. 이때 오른쪽 꺽쇠(>)를 이용해서 파일에 추가하도록 하여 새로 생성한 파일에 "This is a new feature" 글자를 추가합니다. 추가된 글은 cat 명령어를 통해서 확인할 수 있습니다.
$ cat new-feature-file.txt
이렇게 파일이 추가되면 변경사항을 스테이징에 저장합니다. 상태를 스테이징에 변경해야 commit 한 내용에 포함시킬 수 있습니다. 이렇게 변경한 파일의 상태는 status 명령어를 통해서 확인할 수 있습니다.
new file의 리스트가 확인되면 이제 commit을 해서 변경사항을 반영합니다.
$ git commit -m "Add new feature file"
[feature/new-feature ce9482c] Add new feature file
1 file changed, 1 insertion(+)
create mode 100644 new-feature-file.txt
feature 브랜치 병합
기능 개발이 완료되면, feature/new-feature 브랜치를 다시 develop 브랜치에 병합해야 합니다. 병합하는 명령어는 다음과 같습니다.
# Git 명령어
$ git checkout develop
$ git merge feature/new-feature
$ git branch -d feature/new-feature
# Git Flow 명령어
$ git flow feature finish new-feature
finish 내용을 보면 Switched 브랜치를 develop으로 한 이후에 파일을 병합하였습니다. 그리고 기존에 있던 feature/new-feature 브랜치는 삭제하였습니다. 이 과정 전체를 git flow feature finish라는 명령어가 해결해 주었습니다.
feature 브랜치의 장점
feature 브랜치를 사용하는 것은 여러 가지 장점을 제공합니다.
- 독립적인 개발: 각 기능을 독립적으로 개발할 수 있어, 서로 다른 기능 개발 간의 충돌을 최소화할 수 있습니다.
- 효율적인 테스트: 새로운 기능을 별도로 테스트할 수 있어, 메인 코드에 영향을 주지 않고 안정성을 유지할 수 있습니다.
- 명확한 변경 내역: 각 기능에 대한 변경 내역이 명확하게 기록되어, 코드 리뷰와 디버깅이 용이합니다.
- 병합 관리: 기능이 완성되면 'develop 브랜치로 병합하여, 메인 개발 브랜치가 최신 상태를 유지하도록 할 수 있습니다.
이번 글에서는 Git Flow를 사용하여 기능 브랜치를 생성하고 작업하는 방법에 대해 자세히 알아보았습니다. Git Flow의 기능 브랜치를 통해 개발자는 독립적으로 기능을 개발하고, 이를 체계적으로 관리할 수 있습니다. 각 기능이 완성될 때마다 'develop' 브랜치에 병합하여 최신 상태를 유지할 수 있으며, 이는 팀 전체의 협업 효율성을 크게 향상시킵니다. 이 블로그 시리즈를 통해 여러분은 Git Flow의 기본 개념을 이해하고, 실습을 통해 실제 플로젝트에 적용하는 방법을 배우게 될 것입니다.
다음 챕터에서는 Git Flow를 사용하여 릴리즈 브랜치를 생성하고 관리하는 방법에 대해 자세히 알아보겠습니다. 이 글이 여러분의 프로젝트에 Git Flow를 도입하는 데 도움이 되길 바랍니다. 궁금하신 부분이 있다면 댓글로 남겨주세요. 감사합니다.
이전 글
'쿤즈 Dev > Git' 카테고리의 다른 글
[Git Flow] Git Flow 실습: hotfix 브랜치 (0) | 2024.07.06 |
---|---|
[Git Flow] Git Flow 실습: Release 브랜치 (0) | 2024.06.29 |
[Git Flow] Git Flow 브랜치 모델 (0) | 2024.06.15 |
[Git Flow] Git Flow 설치 및 설정 (0) | 2024.06.10 |
[Git Flow] Git & Git flow 소개 (0) | 2024.06.08 |
댓글