Git - 배경

이용주·2022년 9월 18일

Git

목록 보기
1/6

버전관리시스템

버전관리시스템이 등장한 이유에는 협업, 작업추적, 복구 등이 불가했던 배경에 있다. 이를 원활하게 하기 위해 버전관리 시스템이 등장하였고 이는 형상관리시스템이라고도 한다. 대부분의 기업은 svn 혹은 git을 사용한다

  • Local Version Control Systems
    내 컴퓨터에서 버전 관리가 가능하도록한 시스템이다. 내 컴퓨터에서만 가능하며 하드가 날라가거나 컴퓨터가 불통이 되면 전체코드가 삭제되는 등 문제점이 있으며 협업이 어려운 단점도 존재한다.
  • Centralized Version Control Systems(svn, cvn, etc)
    협업이 가능하다는 장접이 생겼다. 하지만 commit하는 순간 배포되어 다수에제 버그를 유발하게 된다. 이유는 commit이 서버로 바로 되어버리는 형태이기 때문, 그리고 인터넷이 안되면 작업이 불가하며 자신만의 version history를 가질 수 없다.
    cvs : 1980년대 만들어진 형상관리 시스템으로 commit중 오류 발생시 rolback되지 않는 문제가 존재한다. 현재는 svn으로 대체되어 사용되며 현재까지 사용중인 회사도 있다.(svn : cvn의 문제점을 많이 보완한 형태, 분산처리기능이 생기면서 현재까지 사용중이다.)
  • Distributed Version Control Systems(git, etc, mercurial)
    원하는 순간에 push하여 배포가 가능하며, 오프라인에서도 작업이 가능하고, 자신만의 version history를 갖을 수 있다. 앞 시스템들의 장점만을 모아놓은 형태이다.

Github

깃허브는 깃을 호스팅해주는 웹서비스로, 협업을 위한 기능을 제공한다. 기업에서는 소스코드의 보안을 이유로 사용을 기피하는 경우도 존재한다. 깃허브에 코드를 올린다고 하면 서버가 클라우드에 있다 생각하면된다. 기피하는 기업이 생기면서 회사내 서버에 설치하여 사용하는 방식의 깃허브도 존재한다.

Gitlab

설치형버전관리 시스템, 서버에 설치하여 사용하는 방식이다. 소스코드보안이 중요한 기업에서 주로 사용한다. 깃랩은 클라우드 버전관리 시스템으로도 사용이 가능하며 10명이하는 무료이고 깃허브와 유사하다. 깃랩은 ssue tracker, Git Remote Repository, API, Team, Group 기능을 제공한다.

0개의 댓글