[TIL] 항해99 16일차

심우진·2021년 9월 29일
0

점심시간에 가까운 도서관에 가서 책을 빌렸다.
"인간다운 GIT"
깃은 개발자라면 협업을 위한 필수 도구라고 들어서
깃에 대해 알고 싶었는데 마침 도서관에 책이 구비되어있어서 오늘 빌렸다.

내용 중에-
깃과 같은 비전 관리 시스템에서는 저장소(repository)라는 곳에 각 바전 사본을 유지한다.
비디오 게임에서 진행 도중 특정 지점을 임시 저장하듯이, 일시 정할 수 있는 지점에 해당하는 버전을 저장소에 저장하는 것을 커밋(commit)이라고 한다. 모든 커밋에는 작업자의 이름과 이메일 주소 같은 메타데이터가 포함된다. 그래서 나중에 특정 변경작업과 관련해 칭찬하거나 원망해야 할 사람이 누구인지 정확히 알아낼 수 있다. 이 커밋이 모여 구조화 된 것이 브랜치(branch)다. 각 브랜치는 프로젝트 히스토리 안에서 하나의 진화하는 트랙에 해당한다. 공식적인 주 버전에 해당하는 브랜치가 하나 있는데, 이를 트렁크 또는 마스터 브랜치라고 한다. 과거 커밋의 히스토리가 축적되기 떄문에 이전에 커밋했던 버전을 불러와 롤백하거나 둘 이상의 버전을 비교하며 디버깅하는 일이 쉬워진다.

그리고 깃을 이해하고 사용하기 위해서는 버전 중심의 사고가 필요하다고 나와있다.
또 깃이 어느정도 어려운 이유는 허술한 추상화를 구현하기 때문이라고 한다.
소프트웨어 관점에서 추상화란 일을 어렵게 만드는 요소를 숨김으로서 어떤 작업을 개념적으로 다루기 쉽게 만드는 것을 말한다.
깃은 분산형 버전 관리 시스템으로 수월한 협업의 도구라고 생각한다.

0개의 댓글

관련 채용 정보