본문 바로가기

교육

Git과 GitHub 알아보기

반응형

Git과 GitHub에 대해서 알아보도록 하겠습니다

Git(깃)은 무엇이고 GitHub(깃허브)와는 어떻게 다른지 살펴볼까요

Git은 기업의 핵심 자산인 소스코드를 효과적으로 관리하는 소프트웨어입니다. 분산형 관리 시스템으로 개발 PC와 저장소에 분산해서 저장하기 때문에 중앙 서버에 장애가 발생해도 로컬 저장소를 이용할 수 있으며 중앙 저장소의 복원도 가능합니다. Git은 리눅스를 만든 리누스 토발즈가 커널 개발에 이용하려고 만들었으나 이후 GitHub 등에서 오픈소스 개발을 위해 사용하면서 알려지게 되었습니다. 작은 소프트웨어 프로젝트에서 큰 규모에 프로젝트까지 소스코드를 빠르고 효과적으로 관리할 수 있는 공개소프트웨어입니다.


효과적인 협업 

손쉬운 개발 및 테스트 환경 구축 

효율적인 배포관리


Git 특징

코드공유

소프트웨어 규모가 커지면 여러 개발자들이 협업을 하며 개발을 진행하고 됩니다. 소프트웨어의 서로 다른 모듈을 개발하게 됩니다. 이때 같은 코드 베이스에서 일을 할 수 있도록 도와주는 일을 버전 관리 시스템이 도와줍니다. 


수정 이력 관리

소스코드에 수정이 발생했을 때 누가 소스코드에 어떤 부분을 고쳤는지 관리해주는 기능이 제공됩니다.


버전 관리

소스 하나 또는 묶음을 하나의 버전으로 간주하여 관리를 하는 것을 말합니다.

파일, 폴더를 추가/수정/삭제해 사용자가 직접 묶음을 버전으로 관리

사용자가 원할 때 예전 버전으로 내용을 되돌릴 수 있는 것

복잡한 코드를 개발할 때 이전 버전과 비교해서 보기가 편함


접근 제한

소프트웨어 개발자들이 소스코드에 대해 모두 같은 수준의 권한을 갖지 않습니다. 자신이 담당하는 모듈에 대한 접근 권한만 가지고 있거나 읽기 권한만 부여받아 수정할 수 없는 등 이런 제약 조건을 부여할 수 있습니다. 



GitHub

관리된 소스 형상을 서로 다른 사람들이 소스를 볼 수 있게 정보 교환이 이루어지는 서버(홈페이지)를 말합니다. 깃허브 회사는 2008년에 설립. 2010년 1월부터 깃허브라는 이름으로 운영되고 있습니다. 깃허브의 마스코트는 고양이 머리에 문어 다리가 달린 옥토캣입니다. 깃은 설치 과정이라든가 혼자서 여러 가지를 관리해야 되기 때문에 관리해야 할 것들이 많습니다. 깃허브는 이런 문제를 해결하기 위해 만들어졌습니다. 깃 서버와 개발자들이 만든 코드를 같은 서버에서 다른 개발자와 실시간으로 협업하도록 도와주는 플랫폼입니다. 수정한 코드가 동시에 같이 작업하는 다른 협업 개발자의 코드와 꼬이는 것을 방지해 줍니다.