Github

업데이트 2026.06.19 4분 읽기
목차 보기

개요

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

이 글이 도움이 되었나요?