Github 최종 수정일 2026-06-19 02:18 조회수 6
대시보드

Github

기본 정보

  • 이름: GitHub
  • 분류: Git 저장소 호스팅 플랫폼
  • 개발사: GitHub, Inc. (Microsoft)
  • 최초 공개: 2008년
  • 주요 용도: 소스 코드 관리 및 협업
  • 관련 주제: #GitHub #Git #OpenSource #DevOps #협업

개요

GitHub는 Git 기반의 원격 저장소(Repository) 호스팅 서비스이다.

개발자는 GitHub를 이용해 소스 코드를 저장하고 버전 관리를 수행하며, Pull Request(PR), Issue, Wiki, Actions 등의 기능을 통해 효율적으로 협업할 수 있다.

현재 전 세계에서 가장 많이 사용되는 개발 협업 플랫폼 중 하나이며, 오픈소스 프로젝트와 기업 프로젝트 모두에서 널리 활용되고 있다.


GitHub 구조

Developer

↓

Git

↓

Local Repository

↓

Push

↓

GitHub Repository

↓

Collaborator

동작 과정

코드 작성

↓

git add

↓

git commit

↓

git push

↓

GitHub 저장

↓

Pull Request

↓

Code Review

↓

Merge

주요 특징

  • Git 저장소 호스팅
  • 버전 관리
  • 협업 지원
  • Pull Request
  • Issue 관리
  • Wiki 제공
  • GitHub Actions(CI/CD)
  • 프로젝트 관리 기능

Repository

Repository(저장소)는 프로젝트의 코드와 이력을 저장하는 공간이다.

예시

my-project

portfolio

erp-system

flutter-app

Clone

원격 저장소를 복제한다.

git clone

https://github.com/user/project.git

Push

로컬 변경 사항을 GitHub에 업로드한다.

git push origin main

Pull

원격 저장소의 최신 변경 사항을 가져온다.

git pull origin main

Branch

기능별로 독립적인 작업 공간을 생성한다.

git switch -c

feature/login

Pull Request(PR)

브랜치에서 작업한 내용을 메인 브랜치에 병합하기 전에 검토를 요청하는 기능이다.

Feature Branch

↓

Push

↓

Pull Request

↓

Code Review

↓

Merge

Code Review

다른 개발자가 코드를 검토하는 과정이다.

주요 목적

  • 코드 품질 향상
  • 버그 예방
  • 코드 스타일 통일
  • 지식 공유

Merge

Pull Request 승인 후 브랜치를 병합한다.

feature/login

↓

main

Issue

프로젝트의 버그나 기능 요청을 관리하는 기능이다.

예시

#15

회원가입 오류 수정

Projects

칸반(Kanban) 형태로 프로젝트를 관리할 수 있다.

Todo

↓

In Progress

↓

Review

↓

Done

Wiki

프로젝트 문서를 관리하는 기능이다.

주요 내용

  • 설치 방법
  • API 문서
  • 개발 가이드
  • 사용 설명서

Releases

배포 버전을 관리하는 기능이다.

예시

v1.0.0

v1.1.0

v2.0.0

GitHub Actions

CI/CD 자동화를 위한 기능이다.

Push

↓

GitHub Actions

↓

Build

↓

Test

↓

Deploy

Workflow 예시

name: Build

on: push

jobs:

  build:

    runs-on: ubuntu-latest

자동 빌드 및 배포를 수행할 수 있다.


GitHub Pages

정적 웹사이트를 무료로 호스팅하는 기능이다.

대표 활용

  • 포트폴리오
  • 기술 블로그
  • 프로젝트 문서
  • 회사 소개 페이지

Fork

다른 사용자의 저장소를 자신의 계정으로 복사하는 기능이다.

Original Repository

↓

Fork

↓

My Repository

오픈소스 기여에 자주 사용된다.


Star

관심 있는 프로젝트를 즐겨찾기하는 기능이다.


Watch

저장소의 변경 사항을 알림으로 받을 수 있는 기능이다.


GitHub와 Git 차이

GitGitHub
버전 관리 시스템Git 저장소 호스팅 서비스
로컬에서 사용 가능클라우드 기반
코드 이력 관리협업 기능 제공
CLI 중심웹 UI 제공

대표 활용 분야

  • 오픈소스 프로젝트
  • 기업 프로젝트
  • 포트폴리오 관리
  • DevOps
  • AI 프로젝트
  • 웹 개발
  • 모바일 앱 개발
  • 서버 개발

장점

  • 무료 사용 가능(공개 저장소)
  • 협업 기능 우수
  • 버전 관리 지원
  • CI/CD 제공
  • 대규모 커뮤니티
  • 오픈소스 생태계 활성화

단점

  • Git 개념 학습 필요
  • Merge Conflict 발생 가능
  • 대용량 파일 관리에는 제한이 있음
  • 비공개 저장소 정책에 따라 비용이 발생할 수 있음

실무 메모

실무에서는 다음과 같은 방식이 권장된다.

  • main 브랜치는 직접 수정하지 않기
  • 기능별 브랜치 생성 후 Pull Request 사용
  • Commit 메시지 규칙(Conventional Commits) 적용
  • README.md 작성
  • .gitignore 설정
  • Secret(API Key) 업로드 금지
  • GitHub Actions를 활용한 자동 배포
  • Code Review 필수 진행
  • Issue와 Projects 연계 관리
  • Release Tag를 활용한 버전 관리

GitHub와 함께 사용하는 기술


대표 기능

  • Repository
  • Branch
  • Pull Request
  • Issue
  • Wiki
  • Actions
  • Projects
  • Releases
  • Discussions
  • Security

관련 문서


출처

  • GitHub 공식 홈페이지
  • GitHub Docs
  • Microsoft Learn