정의

소스코드의 변경사항을 체계적으로 관리하는 도구입니다.

git_learn.png

개발자들이 만든 소스코드를 누가 어떤 기능을 만들었는지, 어떤 작업을 했는지, 버전관리를 하기 위해 사용합니다.

회사마다 특성이 달라서 쓰는 툴이 다릅니다. SVN, VCS, SCM, GIT 등등의 툴을 씁니다. 버전관리시스템을 자체개발해서 사용하는 업체도 있습니다. 외부툴에 의존하면 안되는 업체들이 그렇습니다. 그렇지만 대부분 git을 많이 쓰므로 git에 대해서 중점적으로 알려드리겠습니다.

예를들어 보겠습니다. 제가 대학교 팀프로젝트로 ppt 발표자료를 만들고 있습니다. 팀프로젝트.ppt 란 파일이 있을겁니다. 저의 팀원은 제가 만든 팀프로젝트.ppt의 마지막 최종본을 이어받아서 작업을 해야합니다.

근데 발표자료가 꼬여서 옛날 버전이 팀원에게 가면 뚱단지 같은 파일에 작업을 하게 됩니다. 이러한 사고를 방지하기 위해서 버젼별로 작업물을 저장하는 도구가 필요합니다. it세계에서는 git으로 관리합니다.

병합.png

push : 작업한 것을 저장소에 저장

pull : 저장소의 최종본을 본인 저장소로 가져오는 작업

프로그램을 개발할 때 협업하는 인원들끼리 최종버전을 기준으로 작업해야 합니다. 이러한 과정들을 git을 이용해 관리합니다.