본문 바로가기
Tool 사용, 리뷰

[Tool] 형상관리 Tool 중 하나인 GIT이란?

by jjongday 2024. 4. 3.
반응형

GIT 이란?

소스코드를 효과적으로 관리할 수 있게 해주는 무료 소프트웨어이며,

분산 버전 관리 시스템(Distributed Revision Control System)이다.

 

버전 관리 시스템은 크게 중앙 집중식 버전 관리분산 버전 관리로 나눌 수 있다.

중앙 집중식 버전 관리의 경우에는 central server에서 코드를 가져오면 그 코드의 commit(변경 기록들)은 가져오지 않고 오직 중앙 서버의 파일만을 받아오는 반면 분산 버전 관리 시스템은 해당 저장소를 변경 기록들과 함께 복제해온다. 그래서 CVCS의 경우 중앙서버에 문제가 생기면 변경기록들을 전부 잃는 반면에 DVCS에서는 중앙서버에 문제가 생겨도 clients중 하나를 골라 변경기록들과 함께 서버를 복원시킬 수 있다.

 

GIT 특징

- git은 개발자가 자신만의 commit history를 가질 수 있고, 개발자와 서버의 저장소는 독립적으로 관리가 가능하다. 


- commit한 내용에 실수가 있더라도 바로 서버에 영향을 미치지 않는다.


- 개발자는 마음대로 commit & push 하다가 자신이 원하는 순간에 서버에 변경 내역(commit history)을 보낼 수 있으며, 서버의 통합 관리자는 관리자가 원하는 순간에 각 개발자의 commit history를 가져올 수 있다.


- git은 서버 저장소와 개발자 저장소가 독립적으로 commit history를 가져갈 수 있기 때문에 매우 유연한 방식으로 소스를 운영할 수 있으며, 이러한 유연성이 git의 가장 큰 장점이다.


- 파일 수정 중에 실수로 웹 사이트가 망가졌다면, 이전 시점으로 되돌아갈 수 있다.


- 소스코드를 주고 받을 필요 없이, 같은 파일을 여러 명이 동시에 작업하는 병렬 개발이 가능하다. 


- 브랜치를 통해 개발한 뒤, 본 프로그램에 합치는 방식(Merge)으로 개발을 진행할 수 있다. 


- 분산 버전관리이기 때문에 인터넷이 연결되지 않은 곳에서도 개발을 진행할 수 있으며, 중앙 저장소가 날라가버려도 다시 원상복구할 수 있다. 


- 팀 프로젝트가 아닌, 개인 프로젝트일지라도 git을 통해 버전 관리를 하면 체계적인 개발이 가능해지고, 프로그램이나 패치를 배포하는 과정도 간단하다. (pull을 통한 업데이트, patch 파일 배포)


- git은 0,1로 이루어진 binary code로 파일을 읽기 때문에 원하는 것이 무엇이든 읽을 수 있다. (오디오, 이미지, 엑셀파일, 텍스트파일 등도 가능)

 

개인적으로 SVN 보다는 GIT을 더 선호하며, 현재 회사에서도 GIT을 더 많이.. 더 자주 사용하고 있다.

 

Git 윈도우에 설치하기

다운로드 사이트는 아래와 같다.

>>  https://git-scm.com/downloads/win

 

자신의 시스템에 맞는 Git을 다운로드 하면 된다.

본인은 64-bit Git for Windows Setup를 설치받아 사용 중이다.

 

설치 방법은 아래 사이트를 참고하면 될 듯 하다.

>> https://phantom.tistory.com/65

 

다음 장에서는 자주 사용하는 Git 명령어에 대해 설명해보겠다.

반응형