이 글은 인프런의 "알잘딱깔센 GitHub" 강의를 듣고 정리한 내용입니다.
Git과 GitHub의 가장 큰 차이
- Git은 분산 버전 관리 시스템이며 GitHub은 Git을 관리하는 웹 서비스이다.
- Git은 내 컴퓨터에 설치되는 SW이며, GitHub은 웹 서비스이다.
Git기반의 웹 서비스는 GitHub 뿐만 아니라 GitLab 등 다양한 소프트웨어가 있다.
Git과 GitHub
분산 버전 관리 툴인 Git을 관리해주는 웹 호스팅 서비스가 바로 GitHub이다.
회사에 입사했는데 프로젝트 관리가 위와 같이 되어 있다고 가정하면, 아래와 같은 사항들이 불편할 것이다.
- 유지보수
- 저장 용량
- 언제 어떤 코드가 수정되었는지 확인(추적관리)
- 코드 공유(코드 저장, 만약 파일이 저장된 노트북을 잃어버린다면?)
- 버전 관리
Git과 GitHub을 사용한다면 다음과 같은 편리한 점들이 있다.
- 용량 : 파일이 N개라면 N * 파일용량 → 수정 내역만 저장(Git)
- 협업 : 파일 주고 받기, 누가 수정했는지, 얼마만큼 수정되었는지, 프로젝트 보드(GitHub, GitLab 등의 타 서비스 이용 가능)
- 관리 : 원하는 Version으로 되돌리기(Git), Code 피드백과 리뷰(GitHub)
Git 공식 홈페이지
Git은 로컬 저장소(내 컴퓨터)와 원격 저장소(서버 컴퓨터)로 나뉘며, 원격 저장소에 작성된 코드를 받아오거나, 내 컴퓨터에 작성된 코드를 원격 저장소에 올릴 수 있다.
이때, 코드 뿐만 아니라 코드의 변경 내역까지 모두 가져올 수 있기 때문에 Git은 "버전 관리 도구"라고 할 수 있다.
GitHub 공식 홈페이지
이렇듯 Git에서 원격 저장소는 코드의 원본이나 변경 내역을 저장하는 매우 중요한 역할을 한다. 이러한 기능을 하는 툴을 형상 관리(Configuration Management) 툴이라고 부른다. Git, SVN, CVS등에 툴이 있고 현재 가장 많이 사용되고 있는 것이 Git이다.
이러한 Git을 클라우드 환경에서 사용할 수 있게 제공하는 공간이 GitHub이며, GitHub은 단순히 저장소 역할만 하는 것은 아니다.
GitHub는 개발자들 사이의 거대한 커뮤니티를 형성하고 있으며, 자신의 프로젝트는 물론 다른 개발자들의 인기 있는 프로젝트의 코드를 볼 수 있고, 이슈(issue)를 제기할 수 있으며, 원한다면 다른 이의 프로젝트를 수정하고 발전 시키는 데에 참여할 수 있다. 이를 오픈소스에 기여(contribution)한다고 합니다.
또한 프로젝트 관리, Code Editer 제공, 심지어 블로그도 Github으로 사용할 수 있다.
읽어 볼 만한 글
'Programming > Git 과 GitHub' 카테고리의 다른 글
알잘딱깔센 GitHub - Ch 5. Fork (0) | 2022.09.18 |
---|---|
알잘딱깔센 GitHub - Ch 4. Branch (0) | 2022.09.18 |
알잘딱깔센 GitHub - Ch 3. GitHub (0) | 2022.09.18 |
알잘딱깔센 GitHub - Ch 2. Git (0) | 2022.09.12 |
알잘딱깔센 GitHub - Ch 0. 간단한 실습 (0) | 2022.09.12 |