[Root] -> main
|
+-- [main에서 딴 브랜치] feat/new_feature
|
+-- [feat/new_feature에서 딴 브랜치] feat/new_feature_subtask_1
|
+-- [feat/new_feature_subtask_1에서 딴 브랜치] feat/new_feature_subtask_1_refactor
main: 프로젝트의 기본 줄기.feat/new_feature: main에서 새로운 기능을 만들기 위해 딴 브랜치.feat/new_feature_subtask_1: feat/new_feature 브랜치에서 작업하던 중, 더 작은 단위의 작업(subtask_1)을 위해 다시 딴 브랜치.feat/new_feature_subtask_1_refactor: feat/new_feature_subtask_1 브랜치의 코드를 리팩토링(개선)하기 위해 또 딴 브랜치.feat/new_feature)을 여러 사람이 나눠서 작업할 때, 각자 서브 브랜치를 따서 맡은 부분만 집중해서 작업할 수 있음.main이나 다른 중요한 브랜치에서 직접 하기 위험합니다. 이때는 독립적인 브랜치를 따서 마음껏 실험해볼 수 있음. 실패하면 그냥 버리면 그만.기존 브랜치에서 브랜치를 따는 방법은 동일.
# 현재 브랜치가 'feat/new_feature' 라고 가정
# 1. 새 브랜치 생성 및 이동
git checkout -b feat/new_feature_subtask_1
# 또는, 이미 다른 브랜치에 있어도 기준이 되는 브랜치에서 딸 수 있음.
# git checkout feat/new_feature (기준이 되는 브랜치로 이동)
# git checkout -b feat/new_feature_subtask_1 (거기서 따기)