간단하게 살펴보는 Git의 역사
git 은 Linux 운영체제의 개발 과정에서 탄생했다
git은 Linux의 아버지 Linus Torvals가
Linux 를 개발하며 리눅스의 버전 관리를 위해 사용하던 툴(BitKeeper)의 유료화로 인해
리눅스의 개발 이념에 반대되는 것에 분개(?)하여
리누스 토발즈 본인이 직접 2주만에 만들어버린 역사가 있는 도구이다.
(git은 지금도 git으로 버전관리가 이루어지고 있으며, github(여기)에서 이 기록을 열람할 수 있다)
git 제작자가 git에 남긴 최초의 commit 은 아래와 같다
GIT - the stupid content tracker "git" can mean anything, depending on your mood. - random three-letter combination that is pronounceable, and not actually used by any common UNIX command. The fact that it is a mispronounciation of "get" may or may not be relevant. - stupid. contemptible and despicable. simple. Take your pick from the dictionary of slang. - "global information tracker": you're in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room. - "goddamn idiotic truckload of sh*t": when it breaks |
git 최초의 커밋 - README 의 첫 시작부분
아래의 짧은 영상으로 리누스 토발즈의 호탕함(?)을 엿볼 수 있다.
참고 : 지옥에서 온 관리자 - git의 최초 커밋
https://github.com/git/git/commit/e83c5163316f89bfbde7d9ab23ca2e25604af290
위와 같은 개발 비화가 있는 버전 관리 도구이지만
이 도구의 핵심은 다음과 같다.
- 빠른 속도와 단순한 구조
- 비 선형적 개발환경 ( 수천개의 동시 다발적인 branch )
- 완벽한 분산
- 속도 및 데이터 크기 면에서 Linux 커널과 같은 대형 프로젝트에도 대응할 것
다양한 사람들이 참여한 Linux 커널의 특징과 개발 과정을 생각해본다면,
어렴풋이 git의 목적성과 그 사용 이유를 유추해볼 수 있다.
Git - 버전 관리 시스템
'버전 관리' 란 '버전의 기록' 을 남겨서 바뀌어 온 과정을 확인할 수 있도록 하는 것이며,
[ 버전 관리 시스템(VCS - Version Control System) ] 버전의 변화 과정을
쉽게 비교하고 백업하기 용이하게 시스템화 한 것이라고 볼 수 있다. ---> git
우리는 git을 만나기 이전에도, 파일을 관리하며 본능적으로(?) 파일의 버전관리를 해 왔다.
git은 우리가 해 온 버전관리를 시스템화 하여 변경 내역을 쉽게 확인할 수 있게, 프로젝트의 버전 기록을 수월하게,
빠르게 / 비선형적이며 동시다발적이게 / 분산하여
데이터를 관리할 수 있게 한 도구이다.
간단한 사용방법은 다음과 같다.
(우선 본인의 로컬 작업 환경에 설치부터 하자.. 여러 방법이 있지만 (여기)를 들어가 운영체제에 맞게 다운로드를 진행한다)
1. 작업하고 있는 프로젝트의 저장 공간에 git 을 사용하겠다 선언하기
> git init
2. 작업물 생성 및 commit 하기
> 작업물 생성 (프로젝트 버전 변경)
> git status
> git add <파일>...
> git commit -m "커밋 내용 작성"
자! 이것으로
당신의 프로젝트 폴더는
'add test.txt file' 이라는 'commit' 을 기준으로
버전이 나뉘어 버전관리가 시작되었다!
위의 git --help 이후의 메시지에서도 볼 수 있듯
git이 제공하는 버전 관리 도구들은 무궁무진하다.
필요한 내용을 그 때 그 때 공식 문서에서 참고하여 사용하는
참된 개발자(공식문서 잘 보면 그게 제일 참된 개발자)가 되도록 하자!
참고 : Git 공식 Documentation - https://git-scm.com/book/ko/v2
'Dev Tools > Git | Github' 카테고리의 다른 글
[링크] 게임처럼 공부하는 git 던전 - 인프런 | 강의 (0) | 2022.07.26 |
---|