작업 내용을 추적, 관리하고 동료와 협업시 작업 효율성을 높이기 위한 도구를 "버전 관리 도구" or "형상 관리 도구" 라고 한다.
과거의 형상 관리 도구는 "중앙 집중형 형상 관리 도구"(cvs, subversion)이었다.
로컬 PC에 작업한 내용을 중앙 서버에 저장,보관하고 중앙 서버를 관리하고 유지보수 하는게 중요했다.
현재는 "분산형 형상 관리 도구"(git)이다.
중앙 저장소를 여러 지역에 복제해 사용 가능하고, 각각의 로컬 PC를 로컬 저장소로 활용해 작업한 내용이 각 로컬에 저장된다. 작업 내용을 안전하게 보관, 관리하기 위해 "원격 저장소"라는 서버에 저장해야 한다.
Git = 분산형 소프트웨어 형상 관리 도구
Git의 기능들 :
- 버전 관리 (서로 다른 버전의 파일 추적, 과거 버전과 비교)
- 분기&병합 (코드 라인을 분리하여 독립적인 개발 가능, 변경 사항을 메인에 병합가능)
- 커밋 (수정 사항을 저장하여 보관)
- 충돌 해결 (개발자 두명이 동시에 수정할 때 발생하는 충돌)
- 히스토리&로그 (코드 라인 수정사항에 대한 상세한 히스토리 로그)
형상 관리할 때 저장소가 필요했는데 그래서 나온게 개발환경의 Hub 역할을 하는 "Github"
Git의 기본 작업 흐름 :
1. Git 환경 구성 : PC에 git을 사용할 환경 구성, git 작업 영역 지정 ( git config, git init )
2. 파일 생성 : 작업 영역에 파일 생성, 작업 영역 모니터링해서 파일 인지 ( git status )
3. Git 추적 목록에 등록 : 수정된 파일을 staging 단계에 밀어넣음 ( git add )
4. 로컬 저장소에 등록 : 이제부터 내 pc의 레포지토리(로컬저장소)에 등록됌 ( git commit )
5. 원격 저장소에 등록 : 원격 저장소에 등록 ( git push - 올리기, git pull / fetch - 받기)

Local Working Directory -> Staging Area -> Local Repository -> Remote Repository
git clone : 남이 만든걸 복사해서 가져오는거 (Remote Repository -> Local Repository)
git checkout : 복사해서 가져온걸 작업하기 위해 내 로컬 디렉토리로 가져옴 (Remote Repository -> Local Working Directory)
'웹, 서버' 카테고리의 다른 글
| 도커를 활용한 마이크로 서비스 아키텍처 개발 시 디버깅 팁 (0) | 2025.02.24 |
|---|---|
| RESTful API (0) | 2024.08.20 |