VCS(Version Control System)과 Git
VCS(Version Control System)과 Git
이번 포스팅에서는 Git의 대해서 알아보도록 하겠습니다.
VCS(Version Control System) - 버전 관리 시스템 |
우리는 파일을 작성할 때 버전 관리를 하고 있었습니다.
예로 어떤 파일을 수정한다고 할 때 수정하기 전에 내용을 확인할 경우, 수정전에 상태로 변경해야 될 경우, 수정전 상태를 보관해야 될 경우가 있습니다.
이러한 경우 파일 이름 뒤에 이름을 붙여서 여러 개의 파일로 관리하게 됩니다.
버전 관리 시스템(Version Contro System, VCS)을 이용하면 파일의 이름을 변경하지 않고 버전을 관리할 수 있으며, 변경된 사항들은 컴퓨터에서 관리할 수 있게 됩니다.
VCS(Version Control System 버전 관리 시스템)의 대표적인 기능 |
1. 소스코드의 버전관리와 복원
프로그램을 개발하거나 유지 보수 하는 과정에 많은 파일들을 수정하고 고치게 됩니다 그런데 잘못된 코드로 인해 코드 복원, 코드 변경 내역, 파일이 바뀌기 전 내역들도 모두 저장해야 됩니다
그래서 초기엔 중요한 시점마다 프로젝트 통째로 날짜나 설명 등의 파일명을 넣고 압축하여 저장하게 됩니다 그러나 이러한 방법은 용량도 많이 차지하고, 꽤 번거롭습니다
하지만 VCS(Version Control System 버전 관리 시스템)을 사용하면 파일을 누가 수정하였고, 파일이 바뀌기 전 내역들 모두 쉽게 변경과 확인을 할 수 있고, 특정 시점의 파일의 내용으로 변경이 가능합니다.
2. 소스코드의 협업
프로젝트가 작은 경우 혼자서도 개발하겠지만 프로젝트 규모가 있는 경우 여러 명이서 나누어 작업 하게 됩니다.
그런데 한 폴더 안에 여러 명이서 작업하게 될 경우 프로그램마다 각각 작업하게 되고 작업 시 전부 각자의 컴퓨터에 복사해서 작업하게 됩니다
이때 개발이 완료되어 실 서비스의 운영하기 위한 테스트를 해보려고 할 때 소스코드를 공유해야 되는데 이러한 소스코드를 이메일, 메신저 등등 으로 공유하기가 복잡하고 어렵습니다
VCS(Version Control System 버전 관리 시스템)을 사용하면 손쉽게 소스코드를 공유가 가능합니다.
VCS(Version Control System 버전 관리 시스템) - GIT |
VCS(Version Control System 버전 관리 시스템)은 제품명은 아니고 CVS, SVN, GIT 들이 유명한 버전 관리 시스템 입니다
SVS 는 이전에 유명했지만 현재는 잘 사용하지 않으며, SVN은 SVS 이후에 많이 사용하였고 현재 많이 사용하고 있으며, GIT 은 오늘날 가장 많이 사람들이 사용하고 있으며 개발자가 아니더라도 한 번쯤 들어봤을만한 버전 컨트롤 시스템입니다.
Git 의 가장 큰 장점은 개발자의 컴퓨터의 저장하여 관리할 수 있지만 다른 사람들과 쉽게 협업하기 위해 Git 설치되어 있는 서버에 저장하거나 Github 같은 저장 공간에 저장할 수 있습니다
Git 여러 가지 특징과 장담점이 있는데 앞으로의 포스팅을통해 하나씩 알아보도록 하겠습니다.
GIT 과 저장공간 |
Git은 소스코드의 버전 관리를 위한 소프트웨어이며 Github은 git 으로 원격전송된 내역들이 저장되는 공간을 제공하는 서비스입니다
Git 으로 관리하는 모든 소스코드들과 프로젝트는 무제한으로 Github에 무료로 전송하여 저장할 수 있으며, 꼭 github 뿐만 아니라 Gitlab, Bitbucket 등등 여러 곳이 있지만 가장 많이 사용되는건 Github 입니다
또한, Github 에 나의 소스코드를 업로드하면 전 세계의 모든 사람들이 볼 수 있고 다운로드할 수 있는데, 다른 사람들의 잘못된 기능을 수정해 주거나 뛰어난 프로그래머에게 제안도 받을 수 있습니다
하지만 이러한 소스코드가 모든 사람들에게 공개되기 때문에 기업에서는 별도의 저장소 서버를 구축하거나 Github 에 별도 비용을 지불하여 소스코드가 공개되지 않도록 저장하기도 합니다.