본문 바로가기
IT 잡지식

[Git] Github와 Gitlab의 차이

by 쯀리♥️ 2023. 8. 30.

안녕하세요, 쯀리입니다.
오늘은 GitHub와 Gitlab에 대해 알아보고
실무에서 어떻게 사용하는지 알아보겠습니다.
 


 

Git 이란?

컴퓨터 파일의 변경사항을 추적하고 여러 명의 사용자들 간에 해당 파일들의 작업을 조율하기 위한 스냅샷 스트림 기반의 분산 버전 관리 시스템입니다. 
 
버전관리 시스템은 무엇인가?
버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템입니다.

 
버전 관리 시스템을 사용하면 각 파일 또는 프로젝트 전체를 이전 상태로 되돌리거나, 수정이 가능하고, 누가 문제를 언제 일으켰는지 추적도 가능합니다.
 

Git의 특징

  1. 분산 버전 관리 시스템  : Git은 데이터가 중앙에만 있는 것이 아니라 모든 컴퓨터에 존재하기 때문에 히스토리와 정보를 동일하게 가지고 있습니다.
  2. 무결성 : 체크섬이라는것이 있는데, 체크섬이 없으면 어떤 파일이나 디렉토리도 변경이 불가능합니다
  3. 브랜치 생성과 머지의 자유로움 : 작업을 분리하고, 병합하는데 자유롭습니다.

 
 


GitHub

가장 대표적으로 사용하는 git 중에 Github는 개발자라면 다 들어봤을 텐데, 이 특징들을 알아볼게요.
 

  • Github는 공개적으로 사용 가능한 무료 서비스입니다. 모든 코드를 공개해야만 한다는 단점이 있습니다.
  • 오픈소스의 역할 ( 모든 사람이 github에 업로드한 코드를 보고 개선을 위한 제안을 제공 할 수 있습니다.)
  • Github는 현재에도 소스코드를 호스팅합니다. 

GitLab

Gitlab은 개인이나 조직이 Private하게 사용할 수 있도록 되어있는 GitHub이라고 생각하시면 됩니다.
 


Github와 GitLab CI/CD 관점에서의 Summary

 
개발자 입장에서 CI/CD 관점에서의 Gitlab과 Github를 비교해봐야할텐데요
 

 
사실상 GitLab와 GitHub는 모두 Git Repository 중심으로 개발 업무를 진행하는데엔 큰 차이가 없을 것입니다.
GitLab의 경우 모든 라이프사이클을 커버하기 때문에 GitHub보다 많은 편의를 제공해준다고 합니다.
또한 CI/CD관점에서 컨테이너 레지스트리,
즉 쿠버네티스, DevOps, 컨테이너 기반 개발을 위한 이미지를 만드는데에도 
GitLab을 사용해야 할 것같습니다.  
 
 

관리부터 이슈를 트래킹하고,  모니터링과 보호까지 GitLab이라는 툴 하나로 관리할 수 있습니다.

 
 
현재 실무에서는 Gitlab을 더 많이 사용 중이네요. 

 


맺음말

저에게는 Github가 더 익숙했습니다. 아마도 지속적으로 오픈소스 위주의 프로젝트를 해왔고, DevOps를 공부해보지 않아서 Gitlab을 왜 사용하는지 몰랐던 것 같네요. 그래서 실무에서의 Gitlab 사용량 보고 놀랐습니다.
 
이제부터 K8s, Docker.. 등등 컨테이너 레지스터리에 관한 공부를 위해선 GitLab에 익숙해져야겠네요.
 


참조

※ Git - Homepage
GitLab을 선택해야하는 이유 
※ GitLab과 GitHub, 실무에서 어떤 차이가 있을까요?
※ GitHub와 GitLab의 차이

 

 

'IT 잡지식' 카테고리의 다른 글

[GitHub] Password 인식 안될 때 - 토큰 인증 로그인  (2) 2023.09.10