Git이란 무엇인가
Git은 분산 버전 관리 시스템으로, 파일의 변경 이력을 기록하고 협업을 가능하게 하는 도구입니다.
Git을 사용하면 코드와 파일의 변화를 시간순으로 기록하고, 이전 상태로 되돌리거나 여러 사람이 동시에 같은 프로젝트에서 작업할 수 있습니다.
☁️ 기본 개념
1. Repository와 Commit
- Repository(저장소)
Git에서 파일의 변경 이력을 관리하는 공간으로, 프로젝트의 전체 상태와 이력을 저장합니다. 저장소는 로컬(Local) 저장소와 원격(Remote) 저장소로 나뉩니다.- 로컬 저장소: 사용자 컴퓨터에 저장된 Git 저장소.
- 원격 저장소: GitHub, GitLab 같은 서버에 저장된 Git 저장소.
- Commit(커밋)
변경된 파일의 상태를 기록한 스냅샷입니다. Git은 커밋 단위로 변경 사항을 추적하며, 각 커밋은 고유한 해시값을 가집니다.
2. Branch와 Merge
- Branch(브랜치)
브랜치는 저장소의 독립적인 작업 공간으로, 프로젝트의 기본 흐름(main)에서 분기하여 새로운 작업을 할 수 있습니다. - Merge(병합)
브랜치에서 작업한 변경 사항을 다른 브랜치(main 등)와 통합하는 작업입니다.
3. Staging Area와 Working Directory
- Working Directory (작업 디렉터리): 현재 사용자가 작업 중인 파일들이 있는 공간입니다.
- Staging Area (스테이징 영역): 커밋 전에 변경 사항을 임시로 저장하는 공간으로, 커밋할 파일들을 준비하는 단계입니다.
- Repository (저장소): 커밋된 파일들이 영구적으로 저장되는 공간입니다.
☁️ File Status Lifecycle
Git에서 파일은 다음 4가지 상태 중 하나에 속합니다:
- Untracked (추적되지 않음)
- Git이 추적하지 않는 새로운 파일입니다.
- git add 명령어로 파일을 스테이징 영역에 추가하면 Staged 상태로 전환됩니다.
- Unmodified (변경되지 않음)
- Git이 추적하고 있으며, 마지막 커밋 이후 변경되지 않은 파일입니다.
- 이 상태의 파일은 커밋 내용과 동일하므로 아무 작업도 필요하지 않습니다.
- Modified (수정됨)
- Git이 추적 중인 파일이 변경되었지만, 아직 스테이징 영역에 추가되지 않은 상태입니다.
- git add 명령어로 변경된 내용을 스테이징 영역에 추가할 수 있습니다.
- Staged (스테이징됨)
- 변경된 파일이 스테이징 영역에 추가되어 커밋 준비가 된 상태입니다.
- git commit 명령어로 변경 사항을 저장소에 커밋할 수 있습니다.
'Ect > Git' 카테고리의 다른 글
[Git] 02. Git Branch 전략 (3) | 2024.11.18 |
---|