GitHub & GitLab

기술노트

🐙 GitHub & GitLab

GitHubGitLabGit 리포지토리를 위한 웹 기반 호스팅 서비스입니다. 둘 다 Git의 기본적인 버전 관리 기능에 더해, 개발자들이 효율적으로 협업할 수 있도록 다양한 부가 기능을 제공합니다.

Git이 소스 코드를 관리하는 '엔진'이라면, GitHub와 GitLab은 그 엔진을 편리하게 사용할 수 있도록 만들어진 '자동차'와 같습니다.


🤝 공통적인 핵심 기능

  • 원격 리포지토리 호스팅 : Git 리포지토리를 위한 중앙 저장소 역할을 합니다.
  • 코드 리뷰 (Code Review) : '풀 리퀘스트(Pull Request, PR)' 또는 '머지 리퀘스트(Merge Request, MR)' 기능을 통해, 다른 개발자가 작성한 코드를 리뷰하고 피드백을 주고받은 뒤 병합할 수 있습니다.
  • 이슈 트래킹 (Issue Tracking) : 프로젝트의 버그, 새로운 기능 요청 등을 체계적으로 관리할 수 있습니다.
  • 프로젝트 관리 : 칸반 보드, 위키 등 프로젝트 관리를 위한 다양한 도구를 제공합니다.
  • CI/CD 통합 : GitHub Actions, GitLab CI/CD와 같은 내장 CI/CD 도구를 통해 코드 통합부터 배포까지의 과정을 자동화할 수 있습니다.

🆚 GitHub vs GitLab

구분 GitHub GitLab
핵심 철학 오픈소스 커뮤니티와 협업에 중점 하나의 애플리케이션으로 전체 DevOps 라이프사이클을 제공하는 데 중점
CI/CD GitHub Actions GitLab CI/CD (더 강력하고 통합된 기능으로 평가받는 경우가 많음)
설치형(Self-hosted) 엔터프라이즈 플랜에서 제공 (유료) 커뮤니티 에디션(CE)을 통해 무료로 직접 서버에 설치 가능
인지도 및 커뮤니티 전 세계적으로 가장 큰 오픈소스 커뮤니티를 보유하여 인지도가 압도적으로 높음 기업 환경에서 많이 사용되며 꾸준히 성장 중

💡 개발자 핵심 Point

  • GitHub오픈소스 프로젝트에 참여하고, 자신의 코드를 외부에 공개하여 포트폴리오로 활용하는 데 매우 중요한 플랫폼입니다.
  • GitLab하나의 도구로 CI/CD, 이슈 트래킹 등 모든 것을 해결하고 싶거나, 보안상의 이유로 코드를 내부 서버에 직접 설치하여 관리하고 싶은 기업에게 매력적인 선택지입니다.
  • 어떤 도구를 사용하든, PR/MR 기반의 코드 리뷰와 이슈 트래킹을 통한 협업 방식에 익숙해지는 것이 중요합니다.