깃 정리 1 ] 정의 및 설치
깃에 대해 정리하기 위해 작성하는 포스팅이다.
본 내용들은 깃 교과서라는 책을 읽고 내가 이해한 부분들을 정리한 것이다.
Git 교과서
더북(TheBook): (주)도서출판 길벗에서 제공하는 IT 도서 열람 서비스입니다.
thebook.io
깃은 버전 관리 시스템(Version Control System)의 한 종류로, 무료로 사용할 수 있는 소프트웨어이다.
버전 관리 시스템(Version Control System)
버전 관리 시스템은 코드와 콘텐츠의 변화를 관리하고 추적하는 시스템을 의미한다.
즉, 갱신되는 코드들에 대해서 버전을 체계적으로 관리 해 주며, 이전 버전으로도 쉽게 돌아갈 수 있게 만들어 주는 시스템이다.
버전 관리를 도와주는 소프트웨어는 두 종류가 있다.
집중형(클라이언트-서버 모델)
집중형 시스템은 모든 소스코드가 한 곳에 집중되어 있는 형태이다.
하나의 메인 중앙 서버에서 개발 구성원의 소스 코드들을 통합적으로 관리하는 것이다.
따라서 집중형을 클라이언트 - 서버 모델이라고도 부른다.
장점
- 저장소 하나를 중심으로 관리하기 때문에 시스템 운영이 수월함
단점
- 서버에 문제가 생겼을 때 모든 개발자가 메인 저장소에 접근할 수 없는 문제가 생김
- 동시에 여러 개발자가 동시에 접근할 수 없으며 순서대로 대기해야 한다
분산형
여러 가지 저장소를 가지며, 여러 저장소에 각 버전별 소스를 개별 보관한다.
분산 저장소는 P2P(Peer - to - Peer) 방식으로 공유하며, 각 개발자에게 공유 가능한 저장소 사본을 제공한다.
P2P - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 중앙 집중식 관리 시스템을 사용하지 않고, 상호 연결된 노드(피어)들이 서로 간에 자원을 공유하는 P2P 네트워크. P2P(peer-to-peer network) 혹은 동등 계층간 통신망(
ko.wikipedia.org
서버는 각 저장소를 동기화 하고 중개하는 역할만 수행한다.
장점
- 메인 서버에 문제가 생기더라도 지속적으로 개발할 수 있음
단점
- 익숙해지는 데 시간이 걸림
깃(Git)은 바로 분산형 버전 관리 시스템에 속한다.
깃(Git)의 특징
- 대표적인 분산형 버전 관리 시스템
- 원격 저장소와 별개로 개발자 각각의 로컬 컴퓨터에 복제본 코드를 저장할 수 있음
- 네트워크나 인터넷이 연결되어 있지 않은 상태에서도 버전 관리가 가능함 (나중에 동기화만 하면 됨)
- 원격 저장소로 많은 개발자의 저장소와 연결/동기화 작업, 소스코드 배포, 병합을 할 수 있음
깃(Git) 설치하기
깃은 이 곳에서 설치할 수 있다.
Git
git-scm.com
오픈소스이기 때문에 무료로 받을 수 있다.
왼쪽 아래에 있는 다운로드 버튼을 누르게 되면
자신의 OS에 맞게 설치 해 주면 된다.
설치 파일을 누르게 되면 다음과 같이 뜬다. Next를 눌러 주자
경로를 정한 다음,
설치 가능한 컴포넌트를 선택할 수 있는 창이 나오게 된다.
기본 값으로 두고 Next를 눌러 준다.
깃은 사용할 때 외부 에디터 프로그램을 사용한다. 기본적으로 Vim이 선택되어 있지만 다른 편집기를 사용하고 싶다면 선택하면 된다.
딱히 모르겠으면 Vim으로 선택하고 Next를 누르자.
기본 값으로 체크 되어 있는 부분들을 선택하여 Next를 눌러 주자
위 사진은 Git Bash에서만 깃을 사용할 수 있게 할 것인가, 아니면 윈도우 cmd에서도 깃을 사용할 수 있게 해 줄 것인가를 결정하는 것이다.
세 번째는 윈도우 cmd창에서 git과 Unix 도구 명령어를 사용할 경우 선택한다.
기본 값인 두 번째를 선택한다.
이것도 역시 기본값으로 둔다. SSH 프로토콜 통신을 통하여 서버간 코드 이력을 전송한다는 의미다.
깃은 다양한 운영체제와 엔딩라인을 처리할 수 있도록 선택화면을 제공한다. 역시 기본값으로 선택한 뒤, Next를 누른다.
터미널 예물레이터를 선택하는 것이다. 기본 값을 누른다.
나머지도 기본 값으로 설정 한 뒤, 설치를 누르면 설치가 완료되게 된다.
Git Bash
깃을 설치했으니 한번 켜 보도록 하자
윈도우에서 Git Bash를 찾아서 실행 해 보자
위 화면과 같이 명령 프롬프트가 실행 되면 잘 되는 것이다.