"The Information Manager from Hell"
("지옥에서 온 정보 관리자")
git이 만들어지기 이전 linux커널은 Bitkeeper라는 분산버전관리 시스템을 공짜로 사용하고 있었는데, 리눅스 커뮤니티 내의 한 개발자가 통신 프로토콜을 리버스 엔지니어링(소스를 거꾸로 읽어내는 방법)하여 해킹하는 사건이 발생, Bitkeeper와 Linux 사이에 갈등이 일어난다.
열받은 Bitkeeper는 Linux 커뮤니티에서 Bitkeeper를 사용할 수 없도록 라이센스를 제한. Bitkeeper를 대체할 버전관리 시스템이 필요했던 리누스는 너무 빡친 바람에 그냥 새로운 걸 하나 2주만에 뚝딱 만들게 되는데... 바로 git이다.
git 최초의 커밋한성깔하시는 토르발스 양반;;
출처: (https://dreamholic.tistory.com/79)
근데 뚝딱 만든것 치고는
심지어 이걸 오픈소스로 풀며 Bitkeeper를 바로 멕인 후 대세가 되었으며 현재 git은 여타 버전 관리 시스템을 큰 격차로 누르며 압도적인 점유율을 차지하고 있다.
개발자 리누스 토르발스는 git을 지옥에서 온 정보관리자(The Information Manager from Hell)라고 불렀다. 그 말 그대로 git은 코드들이 불안정하게 난무하던 코드 지옥으로부터 사람들을 벗어나게 해준 시스템이다
$brew install git
- 등록하려는 폴더에서 터미널을 열고 저장소 작성(git init) 또는 복제(git clone)
- 파일 작성 혹은 편집
- 파일의 생성/변경/삭제를 git 인덱스에 추가(git add)
- git 인덱스에 추가한 변경결과들을 저장소(.git폴더)에 커밋(git commit)
- 로컬 저장소(현재위치에 존재하는 '.git'폴더)를 푸쉬해 원격 저장소(github 등)에 반영(git push)
중요한 파일을 온라인에 지속적으로 업로드함으로써 원래의 저장소가 손상되었을 시 펼쳐지는 지옥을 피할 수 있다
commit
들을 사진과 같이 비교하며 코드의 생성과 변화과정을 쉽게 알 수 있다
3.Pull request
기능을 이용해 여러 명이 병렬적으로 소스코드를 동시에 보면서 수정,삭제등의 협업을 진행할 수 있으며 이를 통해 프로젝트 개발 속도를 매우 빠르게 도와준다