[Git & GitHub] Git에 대한 이해를 돕는 스토리

여기저기서 Git은 협업을 위한 도구라는데, 과연 협업에 도구까지 필요할까? Git은 굳이 왜 만들어진걸까?

간단한 예시로 생각을 해보자.

옛날 사람들도 역시 우리와 마찬가지로 팀플을 진행했다.

팀플을 진행하면서 조사한 자료들을 USB에 넣어서 가져왔고, 주기마다 한 컴퓨터에 모아서 정리했다.

그런데 이게 너무 귀찮았던 것이다. 그래서 USB에 담아가지 않고도 집에서 본인들의 자료를 보낼 수 있는 방법을 생각했고, 그렇게 분산 관리 시스템(Git)의 초기모델이 고안되었다.

그런데 또 문제가 생겼다.

분명히 역할분담을 명확히 했다고 생각했는데 막상 합쳐보면 겹치는 자료가 너무 많았다.

그렇게 팀장이 직접 하나하나 검수하면서 겹치는 파일을 수정해나가던 도중 도저히 이건 아니다라는 생각을 했고,

모두에게 자료를 공유하는 시스템을 추가해서 파일을 보내기 전에 겹치는 부분을 파악할 수 있게 만들었다.

이제 Git은 집에서 파일을 보낼 수 있고, 겹치는 부분을 본인들이 즉각적으로 수정해나갈 수 있게 되었다.

하지만 이후에도 문제는 많았다.

새로운 내용을 보냈는데 생각해보니 이전에 만들었던게 더 좋아보여서 다시 되돌리고 싶었고, 현재의 상태(버전)를 저장하는 commit이라는 기능이 추가되었다.

또한 하나의 작업공간에서 진행하다보니 다른사람이 commit할때마다 계속 그것을 다운받아 동기화 시켜줘야하는 문제가 생겨서 각자의 작업공간을 만들어주는 branch라는 기능이 추가되었다.

이렇게 Git은 함께 프로젝트를 진행하는 사람들을 위해 여러가지 기능들이 추가 되었고, 지금의 모습이 되었다.

결론을 내자면 결국 Git은 더 쉽고 빠르고 효율적이게! 협업을 도와주는 도구이다.

위키에서는 Git에 대해 이렇게 설명한다.

Git이란 어렵게 설명하면 컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 분산 버전 관리 시스템이다.

이제 이 말에 대해 어느정도 이해가 될 거라고 생각한다.

지금까지의 이야기는 분산관리시스템(Git)을 이해하기 위한 각색이다.

위의 스토리와는 다르게 사실 Git이 만들어진 이유는..

2005년에 Linux(리눅스)를 만든것으로 유명한 리누스 토르발즈라는 분이 원래 쓰던 분산 관리 시스템이 있었는데 그 시스템이 모종의 사건으로 인해 유료화가 되었다.

그래서 2주만에! 자신이 쓸 분산 관리 시스템을 만들었는데 그게 Git이라고 한다.

맥이 빠질 수 있는 이야기지만.. 여러모로 대단한 사람이고, 결과물이다.

댓글남기기