main브랜치에서 작업을하다 새로 기능 개발시 feature 브랜치를 새로 생성하는 경우, 기존 main 브랜치에서의 작업은 유지, 새로운 feature 브랜치에서 자유롭게 코드를 추가 및 삭제할 수 있습니다.
HEAD를 변경하는 작업 switch
-c 붙이기# feature라는 브랜치를 새로 생성하는 경우, -c를 붙입니다.
git switch -c feature
# checkout이라는 명령어도 사용할 수 있습니다.
git checkout -b feature
# 기존에 있던 main 브랜치로 HEAD를 변경하려면, -c를 붙이지 않습니다.
git switch main
git checkout main

기능 개발이 끝나면 브랜치를 main 브랜치와 합칠 수 있다.
# 기능 개발이 진행되었습니다.
git commit -m "기능1의 세부 기능1"
git commit -m "기능1의 세부 기능2"
git commit -m "기능1 개발 완료"
# 머지를 위해 main 브랜치로 전환
git switch main
# main 브랜치로 feat/todo 브랜치를 병함
git merge feat/todo

실무에서는 로컬에서 합치기 보다는 GitHub의 pull request 기능을 이용하여 변경 내역을 충분히 확인하고 난 다음에 머지하는 경우가 더 많기 때문에, 로컬에서 머지하지 않고 feature 브랜치를 push하여 pull request를 요청하는 것을 권장
# 기능 개발이 진행되었습니다.
git commit -m "기능1의 세부 기능1"
git commit -m "기능1의 세부 기능2"
git commit -m "기능1 개발 완료"
# GitHub 리포지토리로 푸시합니다.
git push origin feat/todo
# GitHub에서 Pull Request를 합니다.

로컬 리포지토리에서 브랜치 삭제 : git branch -d feat/todo