코딩을 배우고 초보자를 벗어날 즈음 이런 이야기를 한 번씩은 들으실 겁니다. 'Git 등을 이용한 버전 관리를 시작하라'라고요. 이 시리즈에서는 가장 많이 사용되고, 대표격의 역할을 하는 Git
에 대해서 다뤄보도록하겠습니다.
또한 Git
을 온라인에서 저장하고, 관리할 수 있는 원격 저장소인 GitHub
도 다루도록 하겠습니다.
Git
은 컴퓨터 파일들의 변경사항을 추적하고 기록하기 위한 버전 관리 시스템입니다. Git
은 버전 관리, 백업, 협업을 위해서 사용됩니다.
버전 관리
는 파일들의 변경 사항에 대해 추적하는 개념입니다. 프로그래밍을 하며 우리들은 새로운 파일을 만들고, 작성하고, 수정하고, 삭제도 하죠. 그럴때마다 코드들을 따로 백업한다거나, 주석으로 일일히 기록하기란 쉽지 않습니다. Git
을 이용하면 버전 관리를 쉽게 할 수 있게 해줍니다.
백업
은 파일을 비상사태에 대비하기 위해 안전하게 따로 보관하는 것 입니다. 오늘날 컴퓨터를 통해 사람들은 수 많은 작업을 하게됩니다. 그런데 컴퓨터 저장장치만을 이용하면 저장장치가 갑작스럽게 고장나게 될 경우 데이터들이 소실될 가능성이 있습니다. 그래서 사람들은 물리적인 저장장치(USB 등)이나 온라인 클라우드 서비스를 백업하기 위해서 많이 사용합니다. Git
은 온라인 클라우드 서비스, 대표적으로 GitHub와 같은 서비스를 통해 온라인 클라우드로 백업을 쉽게 할 수 있게 도와줍니다. (물론 GitHub가 only 저장용 클라우드 서비스는 아니지만, 그러한 기능도 있기에 예를 들었습니다.)
협업
은 사람들과 함께 업무를 분담 처리하는 것을 말합니다. Git
은 GitHub
와 함께 사용되면 다양한 프로젝트 팀원들이 하나의 프로젝트 파일에 접근해서 업무를 처리할 수 있게 만들어줍니다. 이 과정에 깃허브를 통해 기록들이 세세히 남기 때문에 팀원 간 업무 공유나 의사소통이 원활해지는 효과를 가져옵니다.
위 그림은 깃의 작동과정을 설명한 그림입니다.
사용자가 작업 트리에서 파일 또는 디렉토리를 Stage
라는 곳으로 보냅니다. 그 다음 Commit
을 해서 git directory(리포지토리라고 더 많이 합니다.)
라는 곳으로 보낸다고 합니다. 각 용어들이 무엇인지에 대해서는 앞으로 진행하면서 배우기로 하고요. 지금은 Git으로 관리되는 파일은 로컬->스테이지->리포지토리를 거친다라는 과정만을 아시면 됩니다.
Git
은 공식 홈페이지에서 다운로드 합니다. 홈페이지에 가면 최신 릴리즈 다운로드 표시가 보일텐데, 다운로드 하시고, setup도 그냥 next만 연타하셔도 됩니다.
설치가 완료되면, Git bash
라는 것이 설치가 되어있을 것 입니다. 이것은 Git
을 이용하기 위한 터미널입니다. 앞으로 실습은 Git Bash
상에서 진행을 하도록 하겠습니다.