Skip to content
Dennis Ko edited this page Oct 24, 2022 · 4 revisions

Git과 버전 관리 시스템

지난 0부에서는 00.C 프로그램의 설계에 대해 배웠다. 이번 1부은 02.raylib 라이브러리에서 배울 raylib를 배우기 전에 git에 대해서 간략하게 소개하려고 한다. 1장에서 오픈 소스 소프트웨어란? 에서 간단히 오픈 소스 소프트웨어에 대해서 배웠을 것이다. 이 gitraylib도 오픈 소스 소프트웨어이다. raylib를 사용하기 위해서는 당연하게 github에 올라가있는 raylib를 받아오고 사용할 수 있는 능력이 있어야 하기 때문에 어찌 보면 raylib 전에 오픈 소스 소프트웨어가 나오는 것은 당연한 수순일지도 모른다. 그렇기 이번 1부 2장git과 버전 관리 소프트웨어에서 집고 넘어가고자 한다.

프로그래밍을 조금이라도 한 사람들이면 어렴풋이 git이라는 이름을 들어봤을 것이다. 혹은 프로그래밍관련 학과를 다니고 있는 대학생이나, 고등학생 같은 경우에는 git에 대한 중요성을 많이 들어보았을 것이다. 이처럼 많은 프로그래머들이 하나의 커뮤니티를 이루어 서로 코드를 공유하고 발전 시켜 나간 주축을 git이 담당하였다.

하지만 이걸 보고 있는 독자들이 들었던 것과 필자가 이야기하려고 하는 것이 차이가 있을 수 있다. 독자분들은 git보다 github가 더욱더 익숙할 것이다. 다음 장에서 설명 할 것이긴 하지만 gitgithub를 혼동하는 사람들이 더러 있다. 하지만 git은 버전 관리를 줄 수 있는 소프트웨어고 github는 그 git를 사용한 서비스라고 생각하면 된다. 또한 gitgithub의 유지 보수를 하는 회사도 다른 데 각각 리눅스, 마이크로소프트가 담당하고 있다.

git이 뭔지 알았으니 git이 맡고 있는 버전 관리 시스템에 대해서 설명하겠다.

버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. 이 책에서는 버전 관리하는 예제로 소프트웨어 소스 코드만 보여주지만, 실제로 거의 모든 컴퓨터 파일의 버전을 관리할 수 있다.
- git

쉽게 풀이하자면 우리가 매일 살아가면서 써 내려왔던 내용들을 돌아봤을 때 무엇을 했는지 알 수 있는 일기장이라고 생각하면 좋을 것 같다. 단지 일기장과의 차이점이 있다면 과거로 다시 돌아갈 수 있는 능력을 가지고 있다고 생각하면 좋을 것 같다. 이 뿐만 아니라 공유 일기 같이 다른 사람들과 함께 올려서 같이 제작해 나아가는 팀 프로젝트에도 git은 유용하게 쓰인다.

버전 관리 시스템 즉 git를 사용함으로써 컴퓨터가 있는 어디든지 사용 가능하고, 다시 올려 일종의 클라우드 역할을 해주고 있다. 이 git는 다양한 버전 관리를 사용할 수 있는데 깃 코드를 배우면서 더욱 더 자세히 설명하도록하겠다.