[TIL]git

영태·2022년 3월 22일
0

[TIL]

목록 보기
2/21

"The Information Manager from Hell"
("지옥에서 온 정보 관리자")

1. git의 유래

2005년, 리누스 토르발스는 리눅스의 소스코드를 잘 관리하기 위한 목적으로 git을 개발한다

git이 만들어지기 이전 linux커널은 Bitkeeper라는 분산버전관리 시스템을 공짜로 사용하고 있었는데, 리눅스 커뮤니티 내의 한 개발자가 통신 프로토콜을 리버스 엔지니어링(소스를 거꾸로 읽어내는 방법)하여 해킹하는 사건이 발생, Bitkeeper와 Linux 사이에 갈등이 일어난다.

열받은 Bitkeeper는 Linux 커뮤니티에서 Bitkeeper를 사용할 수 없도록 라이센스를 제한. Bitkeeper를 대체할 버전관리 시스템이 필요했던 리누스는 너무 빡친 바람에 그냥 새로운 걸 하나 2주만에 뚝딱 만들게 되는데... 바로 git이다.

git 최초의 커밋한성깔하시는 토르발스 양반;;
출처: (https://dreamholic.tistory.com/79)


근데 뚝딱 만든것 치고는

  • 매우 빠른 속도
  • 단순한 구조
  • 비선형적인 개발 방식 지원(전세계 개발자가 기여하게 만듦)
  • 완벽한 분산
  • linux커널같은 대형 프로젝트 감당 가능

심지어 이걸 오픈소스로 풀며 Bitkeeper를 바로 멕인 후 대세가 되었으며 현재 git은 여타 버전 관리 시스템을 큰 격차로 누르며 압도적인 점유율을 차지하고 있다.

git에 대한 평가(2022년)

개발자 리누스 토르발스는 git을 지옥에서 온 정보관리자(The Information Manager from Hell)라고 불렀다. 그 말 그대로 git은 코드들이 불안정하게 난무하던 코드 지옥으로부터 사람들을 벗어나게 해준 시스템이다


2. git 설치

$brew install git


3. git 사용법

  1. 등록하려는 폴더에서 터미널을 열고 저장소 작성(git init) 또는 복제(git clone)
  2. 파일 작성 혹은 편집
  3. 파일의 생성/변경/삭제를 git 인덱스에 추가(git add)
  4. git 인덱스에 추가한 변경결과들을 저장소(.git폴더)에 커밋(git commit)
  5. 로컬 저장소(현재위치에 존재하는 '.git'폴더)를 푸쉬해 원격 저장소(github 등)에 반영(git push)

4. git의 의미

  1. 중요한 파일을 온라인에 지속적으로 업로드함으로써 원래의 저장소가 손상되었을 시 펼쳐지는 지옥을 피할 수 있다

  2. commit들을 사진과 같이 비교하며 코드의 생성과 변화과정을 쉽게 알 수 있다

3.Pull request기능을 이용해 여러 명이 병렬적으로 소스코드를 동시에 보면서 수정,삭제등의 협업을 진행할 수 있으며 이를 통해 프로젝트 개발 속도를 매우 빠르게 도와준다

  1. 포트폴리오 관리에 용이.자신이 작업한 프로젝트를 나열하여 얼마나 주기적으로 프로젝트를 관리하는지 확인 가능

profile
개발 공부중

0개의 댓글