Git이란?
Git은 개발 과정 중에 일어나는 변경 사항을 추적하기 위한 대표적인 형상관리 툴이다.
형상 관리
소프트웨어 구성 관리(영어: Software Configuration Management) 또는 형상 관리는 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것으로, 형상 관리는 일반적인 단순 버전 관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간을 이야기한다.
일반적으로 형상 항목(영어: Configuration Item)이라는 형태로 작업 산출물을 선정하고, 형상 항목 간의 변경 사항 추적과 통제 정책을 수립하고 관리한다.
위키피디아, "구성 관리", https://ko.wikipedia.org/wiki/%EA%B5%AC%EC%84%B1_%EA%B4%80%EB%A6%AC
프로젝트를 하다 보면 잦은 코드의 변경사항이 생긴다. 오류가 생겨서 코드를 수정할 때도 있고, 새로운 기능을 추가하기 위해 코드를 수정할 때도 있다. 이 외에도 굉장히 많은 이유로 코드는 변경된다.
만약 변경 사항을 체계적으로 관리하지 않는다면 나중에 큰 혼란이 생길 것이다. 형상관리는 프로젝트가 커질 수록 중요하다. 대규모 프로젝트에서 체계적인 변경사항의 추적 없이 코드가 변경되었을 경우 ⌜누가, 언제, 무엇을, 어떻게, 왜⌟ 이 코드를 변경했는지 알 길이 없기 때문이다.
이 모든 것을 쉽게 할 수 있도록 나온 도구가 바로 Git 이다.
Git의 장점
- 빠른 속도, 단순한 구조
- 분산형 저장소 지원
- 비선형적 개발 가능(branch 사용)
Git의 역사
Git은 리눅스의 아버지 "리누스 토르발스"에 의해 개발됐다.
리눅스가 GNU 프로젝트에 의해 오픈소스로 공개된 것은 알고 있을 것이다. 리눅스의 개발에는 수많은 개발자들이 참여했으며 지금도 활발하게 개발이 이루어지고 있다. 위에서 말했듯 많은 사람들이 참여하는 대규모 프로젝트일수록 형상관리가 중요하다. 하지만 토르발스는 시중에 존재하는 분산 버전 관리 시스템이 리눅스를 감당하기에 충분하다고 생각되지 않았는지 새로 만들어버렸다. 그렇게 해서 탄생한 것이 Git 이다.
지금도 토르발스는 Git을 돌아다니면서 코드가 맘에 들지 않으면 아래처럼 욕을 달아 놓는다고 한다. 거의 소프트웨어 엔지니어링 계열의 고든 램지.
There aren't enough swear-words in the English language, so now I'll have to call you perkeleen vittupää just to express my disgust and frustration with this crap.
Git 설치
Windows 사용자
Windows 사용자는 Git을 사용하기 위해 아래 링크에서 Git-bash를 설치해야 한다. 아래 링크를 타고 들어가서 최신 버전을 설치하면 된다.
https://git-scm.com/download/win
Mac 사용자
Mac 사용자는 terminal이나 iTerm 환경에서 Git을 사용하면 된다. 기본적으로 깔려 있을텐데 만약 깔려있지 않다면 terminal에
xcode-select --install
을 입력하면 설치 된다.
초기 설정
아까 말했듯 Git은 누가 이 코드를 변경했는지, 이 코드의 소유주가 누구인지 알 수 있어야 하기 때문에 본인의 정보를 입력해야 한다. 그래야 코드에 문제가 있을 때 범인을 찾아서 개인적으로 연락이 가능하기 때문이다.
//이름 입력
git config --global user.name “이름”
//email 주소 입력
git config --global user.email “email”
//사용하는 에디터
git config --global core.editor "vim"
//사용하는 뷰어
git config --global core.pager "cat"
//정보 확인
git config --list
위의 작업을 모두 성공적으로 했다면 git config --list를 입력했을 때, 아래와 같이 본인의 정보가 출력될 것이다.
'개발 > Git' 카테고리의 다른 글
[개발/Git] Git 실습하기 ( Add부터 Merge까지) (0) | 2022.09.27 |
---|---|
[개발/Git] Git 사용해보기 (Process flow 이해, Git 명령어) (0) | 2022.09.20 |
[개발/Git] Git Repository 생성 (.gitignore, license, README 작성) (0) | 2022.09.20 |
[개발/Git] Vi 에디터 사용하기 (0) | 2022.09.16 |
[개발/Git] CLI 명령어 공부 (pwd, cd, ls, rm, mv, mkdir, cp, touch) (0) | 2022.09.16 |
댓글