[ dev ] git 을 공부해보자 #1 (git의 역사 및 배경지식)
회사에서 프로젝트를 진행할때 대부분 SVN으로 형상관리를 하였는데 최근 git을 사용할 일이 있었습니다.
git을 사용한지 벌써 6개월이 지났고 그당시에도 GitHub의 source tree 나 GitHub desktop을 사용했던지라 git을 command 와 eclipse 를 이용해 사용하는데 어려움을 느꼈습니다.
git 공부의 필요성을 느끼고 인프런에서 지옥에서 온 관리자 Git 을 찾았고 해당 강의를 보며 정리를 해보고자 합니다.
그럼 지옥에서 온 관리자 git 시작해보겠습니다.
1. Git의 역사 및 배경지식
Git 은 어디서 왔을까?
배경지식을 아는게 많은 도움이 되기 때문에 백그라운드를 먼저 알아보겠습니다.
유닉스 라는 대형 컴퓨터를 위한 운영체제가 있습니다. 이걸 개인용 컴퓨터에 맞는 OS인 리눅스(Linux)로 만든 사람이 바로 리눅스 토발즈 입니다.
또한 리눅스 토발즈는 GNU라는 새로운 개념을 만듭니다.
GNU는 소프트웨어의 상업화에 반대해 모두가 공유할 수 있는 소프트웨어를 만드는 것을 목표로 하였습니다.
A 소프트웨어를 만들었는데 이 소프트웨어로 이익을 챙기지 않고 누구에게나 공개 하겠다는 뜻 입니다.
다만, 이걸 사용하려면 GPL 을 따라야 한다는 조건이 있습니다.
그럼 GPL은 무엇일까요?
GPL 은 General Public License의 약자로 A소프트웨어를 사용해서 기능이 더 좋은 B소프트웨어를 만들 경우 B소프트웨어는 무조건 공개 되어야 한다는 의무가 생기는 것 입니다.
리눅스 토발즈의 철학이 담겨있죠. 모든걸 공개. 이익은 없다!
리눅스의 수많은 개발자들이 오픈소스인 리눅스를 계속 발전시켜나갑니다.
발전을 시켜 나가기 위해선 여러사람들이 하나의 프로젝트를 가지고 협업을 해야 합니다.
기존의 협업은 파일을 압축해서 하나로 모으는 작업을 통해 진행 되었습니다.
같은 파일을 건들 경우 하나로 합칠때 충돌이 일어납니다. 하나로 합치기 너무 힘들어요!
그래서 상용프로그램(DVCS/Distributed Version Control System - 분산 버전 관리 시스템) 인 BitKeeper를 사용하게 됩니다.
그런데, 잘 사용하고 있던 BitKeeper가 갑자기 유료화가 된다고 하니 리눅스 토발즈는 또하나의 엄청난 걸 만들어냅니다.
그게 바로 지금 너무나 많이 사용하고있는 형상관리 툴인 Git 입니다.
BitKeeper를 기반으로 기능을 추가해서 Git을 만들게 되었습니다.
리눅스에서 만들었으니 GPL에 따라 누구나 다 사용할 수 있게 되었습니다.
다음은 GitHub에 대해 알아보겠습니다.