티스토리 뷰
깃(Git)은 Mercurial과 함께 분산 버전 관리 시스템(DVCS, Distributed Version Control System)의 대표 주자입니다. 최근에는 깃허브(githum.com)의 활성화와 함께 깃의 인기는 지속적으로 상승하고 있고 이로써 전통적인 버전 관리 시스템인 서브버전(Subversion)의 자리도 하나 둘씩 깃(Git)으로 대치되고 있는 상황으로 보입니다. 물론 개발에 직접 참여하지 않고 소스 코드를 주기적으로 업데이트 받고 싶다면 이전에 사용하던 서브버전을 그대로 사용할 수도 있습니다. 깃허브와 같은 서비스 시스템에서 통상 깃 리포지토리 호스팅 뿐만아니라 서브버전 인터페이스도 제공하기 때문입니다. 그렇지만 개발 조직에서 도구를 깃으로 통일하고 기존에 버전 관리하던 내용도 깃으로 마이그레이션 할 계획이라면 깃을 직접 설치하고 사용해서 깃에 익숙해질 필요가 있습니다.
기존에 CVS나 서브버전(SVN)을 사용하던 조직에서 왜 깃의 도입을 검토하는지 그 이유를 면밀하게 살펴보고 적용할 필요가 있습니다. 몇가지 이유를 정리해 보면 아래와 같습니다.
- 중앙 집중식 버전 관리 시스템은 서버에서 적절한 백업이 되어 있지 않으면 서버 소실시 자료도 모두 소실될 우려가 있습니다. 반면에 DVCS는 각각의 로컬 저장소가 독립된 서버 역할을 수행합니다.
- 중앙 집중식 시스템의 경우에는 트래픽 집중으로 속도 저하의 우려와 서버 장애시 작업 자체가 불가능한 단점이 있으나 DVCS는 서버 장애와 무관하게 로컬 저장소에 대한 자유로운 작업이 가능합니다.
- DVCS는 협업시 잦은 충돌(Conflict)을 최소화할 수 있습니다.
[Next]로 진행합니다.
GPL 라이선스로 기업에서도 무료로 사용할 수 있습니다. [Next]로 진행합니다.
설치 경로를 확인하고 [Next]로 진행합니다.
설치 요소는 기본 옵션 상태에서 [Next]로 진행합니다.
시작 메뉴에 등록할 그룹이름으로 시작 메뉴에 등록하지 않아도 됩니다. [Next]로 진행합니다.
윈도우의 "PATH" 환경 변수를 수정할 것인지를 묻는 창으로 윈도우 콘솔창에서 깃을 실행할 일이 없다면 기본 옵션 상태에서 [Next]로 진행합니다. 깃 본쉘(Git Bash)은 윈도우에서 리눅스/유닉스 쉘을 사용할 수 있도록 해주는 프로그램으로 깃의 설치 폴더(C:\Program Files\Git)를 루트 디렉토리(/)로 간주하여 윈도우 모든 디렉토리를 접근할 수 있도록 기능을 제공합니다.
깃의 기본 네트워크 서비스이며 보안 연결에 사용하는 SSH 모듈을 선택하는 화면으로 기본 옵션인 OpenSSH 상태에서 [Next]로 진행합니다.
텍스트 파일의 라인 끝을 표시하는 특수 문자로 윈도우(\r\n), 리눅스/유닉스(\n), 맥(\r)이 모두 다릅니다. 이런 운영체제 간의 차이를 깃이 자동 변환시켜줄 것인지를 설정하는 화면입니다. 라인 끝 처리는 협업 과정에서 혼란을 발생시키거나 실행중 환경 파일에서 오류를 발생시킬 수도 있으므로 깃에 의존하는 변환은 위험할 수도 있습니다. 개발 조직의 전략과 개발자 개인이 사용하는 개발 환경에 따라 옵션을 선택하되 본 포스팅에서는 위의 그림과 같이 변환하지 않는 옵션을 선택하고 [Next]로 진행합니다.
설치가 끝나면 [Finish]로 종료시킵니다.
설치가 정상적으로 종료되면 위의 그림과 같이 윈도우 탐색기의 팝업 메뉴에 깃 메뉴를 확인할 수 있습니다. 위의 그림은 팝업 메뉴에서 "Git Gui"를 실행시킨 화면입니다.
위의 그림은 "Git Bash"를 연 상태에서 루트 디렉토리(/) 아래 bin 폴더를 확인한 것으로 깃의 설치 폴더(C:\Program Files\Git)가 루트로 간주되며 윈도우의 각 디렉토리는 깃 본쉘의 창 제목에 "/C/tmp"로 표시한것 처럼 드라이브 문자를 시작 폴더로 표시하여 접근할 수 있습니다. bin 폴더 내용에서 확인 할수 있듯이 여러 리눅스/유닉스 명령을 수행할 수 있습니다.
'IT 일반' 카테고리의 다른 글
내가 형상관리/버전관리 시스템을 사용하는 이유 (0) | 2015.08.25 |
---|---|
깃(git) 시작하기 (0) | 2015.08.14 |
형상 관리와 버전 관리 (0) | 2015.08.11 |
2015년 주목해야 할 데이터베이스 (1) | 2015.06.30 |
네자리 자연수를 곱셈으로 뒤집기 - 2015 정보올림피아드 문제풀이 (2) | 2015.04.27 |