소프트웨어의 변경 사항을 체계적으로 추적하고 통제하는 것.
(Software) Configuration Management System
개발 중 발생하는 모든 산출물들이 변경됨으로써 점차 변해가는 소프트웨어 형상을 체계적으로 관리하고 유지하는 시스템
Git 사용의 대표적 이유
장점
- 불필요한 파일을 생성하지 않아도 된다.
- 여러 버전을 위해 중복되는 파일을 생성하지 않아도 된다.
- Git을 이용해 여러 개발자와 협업이 용이해 진다.
- 각 개발자마다 수정한 내역을 확인할 수 있다.
- Git은 이렇게 소프트웨어를 항상 확인하는데, 이를 클라우드 서비스로 제공해주는게
깃허브
이다.
- SVN을 사용하는 경우도 있지만, → Git이 더 복잡하지만 체계적이고, 안정적임
Git
을 클라우드 서비스로 제공하는 게 Github
원격 저장소(remote repository)
공유
및 버전 관리
가 가능.Working Directory
: 작업이 진행되는 폴더git add(그냥 save, ctrl + s)
시 Staging Area
로 전달됨.Local Repository
에 저장된 소스코드를 현재 프로젝트에 병합(merge)
가능.Staging Area
: 준비 영역, 중간 영역저장하기 전
머무르는 중간 영역.commit
을 통해 저장할 수 있음.Local Repository
: 내 PC
내에 있는 저장소push
를 반영할 수 있음.Remote Repository
에 저장된 소스 코드를 fetch를 통해 얻어와 Local Repository에 저장 가능.Remote Repository
: 원격 저장소(GitHub)여러 버전
을 만들어분리
하는 개념.branch
: 나뭇가지, 분기, 갈라지다서로 다른
작업을 진행.영향을 미치지 않음
.병합
됨.