프로젝트의 버전 관리를 하기 위해 사용하는 프로그램
버전 관리
작업물을 만들 때 한 번에 완성할 수는 없다. 따라서 1차, 2차, ..., 최종본, 최최종본 등으로 나누어서 파일을 저장하여 내용을 수정하고 발전시킬 것이다. 하나의 파일로 계속해서 수정하지 않고 여러 개의 파일을 만들어서 수정하는 이유는 새로운 내용을 작성하다가 이전에 작성했던 내용을 다시 보고 싶을 때 다시 확인할 수 있도록 하기 위함과 이전 버전으로 돌아 가고 싶을 때 돌아갈 수 있도록 하기 위함이다.
이 방법은 파일의 수가 많아지고 관리가 힘들다는 단점이 있지만 그 히스토리를 확인할 수 있어 최종 완성된 파일이 어떤 과정을 통해 만들어졌는지 파악할 수 있고 언제든지 이전 버전을 활용할 수 있다는 장점이 있다.
버전 관리는 소프트웨어 개발에서도 아주 중요하다. 소프트웨어 개발에서는 계속 업데이트되는 기능을 추가하거나 그 과정에서 나오는 버그를 수정하기 위해 코드 수정, 추가, 삭제가 계속적으로 이루어지는데 이 과정에서 버전 관리를 위해 사용하는 것이 git이다.
개발자로 커리어를 쌓아갈 때도 git으로 협업이 가능한 지가 중요해진다. git에는 소스코드의 버전 관리 뿐만 아니라 여러 개발자와의 협업을 위한 기능도 포함되어있다. 예를 들어, git으로 버전 관리를 하는 프로젝트가 존재하는데 A가 열심히 개발을 하여 version3까지 외부의 어떤 서버에 올려둔다. 그러면 A가 아닌 다른 팀원이 그 서버에서 version3을 자신의 컴퓨터로 가져가서 version5까지 만든 다음 다시 그 서버에 올린다. 그럼 또 다른 팀원이 version7까지 만든 다음 서버에 올린다. 이와 같이 버전 관리와 함께 개발자들이 협업할 수 있게 해주는데 사실 이것은 git만을 가지고는 할 수 없고 git으로 관리한 프로젝트를 저장할 서버가 필요하다. 바로 이 git 기반의 저장소 서비스를 제공하는 곳은 GitHub와 GitLab이다. 따라서 Git과 GitHub(GitLab)은 같은 것이 아니다.
즉, git은 프로젝트의 버전 관리를 하게 해주는 프로그램이고 GitHub나 GitLab은 git을 기반으로 버전 관리를 하는 프로젝트에 대해서 저장공간을 제공하는 서비스이다.
📄출처 : ICT멘토링 git 기초강의 - 1강 git을 시작합시다.