Git은 파일 변경 이력을 관리하는 분산 버전 관리 시스템입니다. Working Directory, Staging Area, Local Repository, Remote Repository 네 영역을 통해 코드 변경사항을 추적·공유합니다.
브랜치는 독립적인 작업 흐름을 만들어 여러 기능을 병렬로 개발할 수 있게 합니다. Merge는 두 브랜치를 합치고, Rebase는 커밋을 재배치하여 히스토리를 선형으로 만듭니다.
같은 파일의 같은 부분을 두 브랜치가 다르게 수정하면 충돌(conflict)이 발생합니다. Cherry-pick은 특정 커밋만 선택적으로 다른 브랜치에 적용하는 기법입니다.
팀의 규모와 배포 전략에 따라 적합한 Git 워크플로우를 선택합니다. GitHub Flow는 단순하고 빠르며, Git Flow는 체계적이고, Trunk Based는 지속적 배포에 최적화됩니다.