⭐ 개요
Git은 프로젝트의 시간과 함께 변화하는 파일들을 추적하고 관리하는 버전 관리 시스템(VCS)입니다. 개발자들의 협업과 코드 이력 관리를 효율적으로 도와주는 필수 도구입니다.
필요한 배경 지식
- 기본적인 터미널/명령줄 사용법
- 프로그래밍 기초 개념
📚 버전 관리의 필요성
1. 로컬 버전 관리
- 간단한 데이터베이스를 사용하여 파일의 변경 사항을 관리
- 예시: RCS(Revision Control System)
- 제한된 협업 가능성
2. 중앙집중식 버전 관리 (CVCS)
- 서버에서 모든 버전을 관리 (예: SVN, Perforce)
- 장점:
- 누가 무엇을 하고 있는지 알 수 있음
- 관리자가 권한 제어 가능
- 단점:
- 서버 장애 시 작업 불가
- 데이터 손실 위험
3. 분산 버전 관리 (DVCS)
- Git이 대표적인 예시
- 장점:
- 전체 저장소를 로컬에 복제
- 서버 장애와 무관하게 작업 가능
- 여러 원격 저장소 활용 가능
💡 Git의 핵심 특징
1. 스냅샷 방식
- 파일의 변화를 시간순으로 기록
- 변경된 파일만 새로 저장
- 변경되지 않은 파일은 이전 상태 참조
2. 로컬 작업
- 대부분의 작업을 로컬에서 수행
- 네트워크 연결 없이도 작업 가능
- 빠른 작업 속도
3. 무결성
- SHA-1 해시를 통한 체크섬 활용
- 모든 데이터를 해시로 식별
- 데이터 손상 방지
⚠️ Git의 세 가지 상태
- Committed: 데이터가 로컬 데이터베이스에 안전하게 저장된 상태
- Modified: 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않은 상태
- Staged: 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태
💻 기본 작업 흐름
# 파일 수정
git add <파일명> # Staging Area에 파일 추가
git commit -m "메시지" # 변경사항 커밋
git push #
참고 자료
'[DEV] Programming Tools > Version Management ∕ Git' 카테고리의 다른 글
Git의 역사 (0) | 2025.02.03 |
---|---|
[Git] Feature 브랜치 작업 과정 (0) | 2021.07.16 |
[Git] 깃플로우 개념 (0) | 2021.07.14 |
[Git] 프로젝트 초기 작업 (0) | 2021.07.14 |
[Git] 핵심 명령어 정리 (0) | 2021.07.14 |
최근댓글