본문 바로가기

IT/Git

Git 이란? 내가 작성한 코드를 공유하고 싶어서

기존에 Git이라는 툴을 알고는 있었는데 

제대로 활용하고 있지 못했는데요. 

 

그런데 제가 만든 코드를 줄줄이 적어서 

다른 동료에게 보내주다보니까 

버전관리도 필요해지고 

그리고 무엇보다더 공유하는 파일을 전달하는 것보다 

조금 더 효율적인 Tool이 필요해졌어요.

 

역시 필요에 의해 공부하는게 짱이지요.

그래서 Git으로 해볼 수 있을 것 같아 

본격적으로 공부를 시작하기로 했습니다.

 

공부한 내용을 줄줄이 적어서  공유할께요.

 

1. Git이란?

Git은 프로그램 관리 Tool 입니다.

무엇을 관리하느냐? 소스코드를 관리해요.

어떤 관리하냐? 버전관리와 여러 동료들과 협업이 가능하게 합니다.

 

버전관리는 무엇이냠 

우리가 발표자료나 보고자료 만들때 

제목_날짜_rev1.ppt, 

제목_날짜_rev2.ppt, 

제목_날짜_rev3.ppt, 

제목_날짜_rev4.ppt, 

 

이렇게 저장하잖아요?

이게 바로 버전관리하는 한 방법 입니다. 

 

소스코드도 이렇게 관리하면 됩니다.

그런데!

이렇게 관리하면 단점이 있어요.

무엇이냐면

1) 버전별로 어떤 내용을 수정했는지 알 수 없어요.

2) 이전 버전으로 원복하기가 번거롭습니다.

 

이걸 편하게 할 수 있는 tool이 Git입니다.

 

 

2. Git은 누가 만들었음?

 

Git은 리누스 토발즈라는 사람이 만들었어요.

이 사람이 누구냐면 운영체제 리눅스를 만든 사람입니다.

대단한 사람이 대단한거 만들었네요.

 

원래는 BitKeeper라는 버전관리 Tool을 사용했었는데

리눅스 커뮤니티 개발자 한명이 BitKeeper 동작원리 분석하려다가

사이가 틀어져서 BitKeeper가 너네 유료화 할꺼야!

이래서 리누스 토발즈는 그래? 그럼 우리가 만들지 머! 

이렇게 만들었다고 하네요. ( 대단 )

 

 

3. Git 개발 목표

 

항상 프로그램을 사용할때는 

이게 무엇을 목적으로 만들어졌는지 알게되면

더 수월하게 사용할 수 있어요.

 

Git의 개발 목표는 무엇이냐? 하면

1) 빠른 속도

2) 단순한 디자인

3) 비선형적 개발 지원 - 수천개의 브랜치를 생성할 수 있음

4) 완전 분산형 시스템

5) 리눅스와 같은 거대한 프로젝트도 속도 저하의 문제없이 관리 할 수 있어야함

 

그래서 깃은 갓이 되었음..

 

 

4. Git 너의 이름은?

 

Git이라고 붙인 이유에 대해 리누스 토발즈가 깃을 맨 처음 만들었을 때 남겼던 기록을 보면 알 수 있어요.

github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290

 

Initial revision of "git", the information manager from hell · git/git@e83c516

Permalink Browse files Initial revision of "git", the information manager from hell Loading branch information Showing 11 changed files with 1,244 additions and 0 deletions. +40 −0 Makefile +168 −0 README +93 −0 cache.h +23 −0 cat-file.c +172 −0

github.com

1) 유닉스 커맨드에서 사용되는 명령어 제외한 랜덤한 알파벳 3글자 조합

2) 멍청하고 단순한 (이런 의미가 있는 아무 단어로 해석해 )

3) global information tracker 의 약자 - 가장 그럴싸해 

4) goddamn idiotic truckload of sh*t 이라는 욕설의 약자 

 

반응형

'IT > Git' 카테고리의 다른 글

그래서 Git은 알겠는데 GitHub는 모야?  (0) 2020.10.06