VCS와 Git 이란? 본문
** Git 이란 ?
> 버전관리 시스템(형상관리 시스템 ) 이다
> Configuration Management System / Version Control Systems ( VCS 라고 많이 한다 )
** 버전관리란?
> Source Data + History
> 협업 , 작업추적, 복구 등이 가능하다
** Git의 등장 배경
> 버전관리 시스템이 없던 시절에는 Source folder + 실행파일을 버전별로 카피하여 관리했음
> 컴퓨터가 다운되거나 해서 날라가고, 하드도 복구 불가능 하거나 등등
-> Local version control system 등장!!!
> 내 컴퓨터에서 버전 관리 가능 .. But 컴터 날라가면 복구 어렵다는 문제는 같다...
> 협업도 어려운 상태
-> Centralized version control system
> 중앙에 있는 버전 db ( 중앙관리 시스템 ) 이 있어서 , 협업이 가능해짐
but 서버에 접속하지 못하면 작업이 불가능 한 문제
> commit을 잘못한 버전이 배포되면, 다수의 컴퓨터에서 버그나 문제 발생 가능
> 자신만의 version history를 가질 수 없음
-> Distributed version control system
> commit 하더라도 개인 저장소 내에 적용된다 -> 이후 원하는 순간에 배포 ( push ) 가능
> 서버에서 파일을 받아온 후 오프라인에서도 작업 가능
> 자신만의 version history control 가능
** 버전관리 시스템의 종류
CVCS : CVS, SVN, etc ...
DVCS : Mercurial , Git, etc ...
CVS ( 1980 년대 ~ )
> commit 중 오류 발생 시 롤백이 안됨
> SVN으로 대체 ( 지금도 쓰고 있는 곳들이 있다 )
SVN ( 2000 년대 ~ )
> https;//subversion.apache.org/
> 중앙관리 시스템이긴 하지만, 분산처리도 가능해서 단점을 보완, 현재도 많이 쓰임
** Git
> SVN 보다 빠른 속도와 많은 기능을 지원 , 분산처리에 많은 기술 지원으로 대부분의 기업들이 사용 중
> documentation이 잘 되어 있어서 상세 도움말은 git 홈페이지에서 확인 가능
** Github
> Git 을 호스팅 해주는 웹 서비스 ( 서버가 클라우드에 있다는 것 ) , 협업을 위한 기능을 제공
> 소스코드 보안이 중요한 경우 사용을 기피함
> 사내 버전은 따로 있음 -> Gitlab
** Gitlab
> 설치형으로, 코드 보안이 중요한 기업에서 사용 중
> 클라우드 버전도 출시하였음, 10명 이하는 무료
> Issue tracker, Git Remote Repository, API, Team, Group 기능 제공
< Git - Github - Gitlab 모두 사용법은 유사 >
'BF 2024 > Git' 카테고리의 다른 글
Remote Repository 생성 (0) | 2022.03.29 |
---|---|
Local Repository (0) | 2022.03.29 |
Git 기본용어들 (0) | 2022.03.29 |
Git 가입 및 global configuration 설정 (0) | 2022.03.29 |
Git 설치하기 ( Mac / m1 ) (0) | 2022.03.29 |