작업이 길어지고 환경이 바뀔 때마다 코드 관리가 번거롭고, 과거 버전으로 돌아가야 할 상황도 생길 수 있습니다. 이를 해결하려면 버전 관리를 통해 코드 변경을 기록하고 작업을 효율적으로 이어가는 방법이 필요합니다.
버전관리 도구 Git
Git은 코드 변경 사항을 추적하고 버전을 관리하는 분산 버전 관리 시스템입니다. Git을 사용하면 다음과 같은 이점이 있습니다.
- 코드 변경 이력을 추적하고 관리할 수 있습니다.
- 문제 발생 시 이전 버전으로 쉽게 되돌릴 수 있습니다.
- 원격 저장소를 통해 다른 기기에서도 최신 작업본에 접근할 수 있습니다.
- 여러 개발자가 협업할 때 변경 사항을 공유하고 조율하기 용이합니다.
Git 과정

작업 디렉토리 (Working Directory)
작업 디렉토리는 실제 파일들을 수정하고 작업하는 공간입니다. 여기서 파일 추가, 삭제, 수정 등의 변경 사항이 발생합니다. Git은 이러한 변경 사항을 추적하여 버전 관리를 지원합니다.
스테이징 영역 (Staging Area)
스테이징 영역은 커밋을 위해 변경사항을 준비하는 중간 단계입니다. git add 명령어를 통해 작업 디렉토리에서 변경된 파일들을 스테이징 영역에 추가합니다. 이 과정에서 커밋할 파일을 선별하고 준비할 수 있습니다.
로컬 저장소 (Local Repository)
로컬 저장소는 개발자의 개인 컴퓨터에 있는 Git 저장소입니다. git commit 명령어를 통해 스테이징 영역의 변경사항을 로컬 저장소에 저장합니다. 이로써 커밋된 파일들은 버전 관리 대상이 되며, 변경 이력을 추적할 수 있습니다.
원격 저장소 (Remote Repository)
원격 저장소는 서버에 호스팅되는 Git 저장소입니다. git push 명령어를 통해 로컬 저장소의 변경사항을 원격 저장소에 업로드합니다. 이를 통해 여러 사람이 함께 코드를 공유하고 협업할 수 있습니다.
원격 저장소의 변경 사항은 git fetch로 가져오고, git pull로 병합 할 수 있습니다. git pull은 fetch로 가져온 변동사항을 바로 본인 코드에 합치는 과정까지 포함되어 있습니다. git fetch 명령어는 현재 위치한 브랜치의 최신 이력 정보를 확인하는 명령어입니다