독서

인간다운 Git

YONS 2022. 6. 14. 18:30

버전관리시스템, VCS(Version Control System)란?

어떤 작업물의 최종본만 갖고 있는 것이 아니라 그 이전 각 수정본을 모두 보유함으로써, 필요할 때 이전 버전을 참고하거나 그 버전으로 되돌릴 수 있게 하자는 것. - 17pg

 

용어들 :

저장소 repository - 각 버전 사본을 유지하는 말 그대로 저장소.

커밋 commit - 일시 정지할 수 있는 지점에 해당하는 버전을 저장소에 저장하는 것. 작업 중 저장하는 사소한 수정이 아닌, 중요한 변경사항이 생겼을 때 해당 지점을 기록해둔다. 모든 커밋에는 작업자의 이름과 이메일 주소 등의 데이터가 포함돼 누가 작업했는지 알 수 있다.

브랜치 branch - 커밋이 모여 구조화된 것. 각 브랜치는 프로젝트 히스토리 안에서 하나의 진화하는 트랙에 해당한다.

메인브랜치 main branch - 주 버전primary version에 해당하는 브랜치. 예전엔 마스터라고 불렀지만 요즘은 이런 명칭이 노예제도의 산물이라는 지적이 나와 단어를 순화해 main이라고 부른다.

작업 사본 working copy - 메모장 같은 역할을 하는, 변경사항을 저장소에 저장하기 위해 안전하게 변경할 수 있는 하나의 프로젝트 버전. 프로젝트에 어떤 변경도 원하는 대로 할 수 있으며, 특정 변경 사항을 저장소에 커밋하면 그것이 공식적으로 저장되는 버전이 된다.

 

* 과거 커밋의 히스토리가 축적되기 때문에 이전에 커밋했던 버전을 불러와 롤백하거나 둘 이상의 버전을 비교하며 디버깅하는 일이 쉬워진다.