Git과 GitHub의 차이와 특징 5가지

Git VS GitHub

목차

Git이란?

Git이란 2005년 리누스 토발즈가 개발하였다. Git은 분산 버전 관리 시스템(DVCS)의 일종이며, 형상 관리 도구(Configuration Management Tool)이다. 여러 명의 사용자들과 소프트웨어를 개발하는 소스코드를 효과적으로 관리할 수 있게 도와준다.

Git의 특징

버전관리

  • Git이란 소스 코드를 효과적으로 관리하기 위해 개발된 ‘분산형 버전 관리 시스템’입니다.
  • Git에서 소스 코드가 변경된 이력을 쉽게 확인이 가능하다. 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수도 있다.

 

원격 저장소와 로컬 저장소

  • 원격 저장소(Remote Repository): 파일이 원격 저장소 전용 서버에서 관리되며 여러 사람이 함께 공유하기 위한 저장소
  • 로컬 저장소(Local Repository): 내 PC에 파일이 저장되는 개인 전용 저장소

평소에는 내 PC의  로컬 저장소(Branch)에서 작업하다가 작업한 내용을 공개하고 싶을 때는 원격 저장소에 업로드(Merge) 합니다. 원격 저장소에 다른 사람이 작업한 파일을 로컬 저장소로 가져올 수도 있습니다.

 

준비영역(Staging area)

Working directory -> Staging area -> Repository

Git의 ‘커밋’작업은 ‘작업 트리’에 있는 변경 내용을 저장소에 바로 기록하는 것이 아니라 그 사이 공간(가상공간)인 ‘인덱스’에 파일 상태를 기록합니다. 이는 스테이징 한다고 표현하기도 합니다.

예를 들어 10개의 파일을 수정했지만 그중에 6개만 저장소에 공개하고 싶을 때, 수정한 10개의 파일 중 6개를 선택하는 작업이 ‘스테이징’ 또는 ‘인덱스에 등록’이라고 표현하는 작업 입니다. 이후 스테이징 된 파일들을 커밋 하여 6개만 저장소에 기록할 수 있습니다.

 

속도

Git은 C언어로 작성되어 속도가 빠릅니다. Git의 디자인 목표가 속도와 성능이라고 합니다.

 

오픈소스

소스코드를 공개하여 누구나 프로젝트의 발전에 기여할 수 있도록 하였다.

 

Git을 사용하는 이유

개인이 아닌 여러 명이서 프로젝트를 진행할 경우, 각자 개발한 파일을 하나로 합치는 과정의 번거로움을 생략할 수 있다.

개발도중 문제가 생겼을 때, 이전에 만들어진 모든 변경사항의 ‘스냅샷’을 저장하기 때문에 특정 시점에 저장된 버전과 비교하거나 특정 시점으로 되돌아갈 수도 있습니다.

GitHub란?

깃허브는 깃을 지원하는 웹 호스팅 서비스 시스템의 한 종류이다. 쉽게 말하면 깃이 저장소(Repository)로 사용하는 클라우드라고 보면 된다. 따라서 로컬에 있는 데이터를 깃허브에 업로드할 수 있고, 다운로드도 할 수 있다.

깃허브에는 많은 개발자들이 올려놓은 소스코드나 프로젝트들을 구경할 수 있다. 소셜 네트워크 서비스를 제공하여 다른 개발자들과 소통이 가능하다. 따라서 GitHub는 오픈소스의 성지라고도 불린다.

GitHub링크 : https://github.com