Git & GitHub 특강 — 버전 관리 & 협업 정리

syeom·2026년 4월 23일

멀티캠퍼스 데이터분석 4월 24일 특강 내용 — Git 개념, 명령어, GitHub 원격 저장소, Branch


📌 목차

  1. Git이란?
  2. GitHub란?
  3. 분산 버전 관리
  4. 저장소 개념
  5. 저장소 생성
  6. 핵심 명령어 — add / commit / push
  7. Git 작업 영역
  8. add와 commit 이해
  9. Head & master
  10. 변경사항 비교 — git diff
  11. 작업 되돌리기 — restore / reset stage
  12. 커밋 되돌리기 — revert / reset
  13. GitHub 원격 저장소 연결
  14. GitHub Issues
  15. GitHub에서 가져오기 — git clone
  16. Branch — 브랜치

1. Git이란?

항목설명
코드 저장소코드와 이력을 관리하는 저장소
VCSVersion Control System — 버전 관리 시스템
핵심 기능코드를 저장하고, 특정 저장 지점으로 되돌아갈 수 있게 해주는 시스템
방식분산 버전 관리 — 여러 개발 PC와 저장소에 분산해서 저장

2. GitHub란?

GitHub는 Git 저장소를 웹에 올려둔 원격 저장소입니다.

웹에 있을 때의 장점

  • 공유 가능 → 협업에 유리
  • 코드 복구 가능 → 어디서든 접근 가능

3. 분산 버전 관리

버전 관리란 파일의 변화를 시간에 따라 기록하고, 특정 시점의 버전을 다시 가져올 수 있는 것입니다.

장점

  1. 소스 코드가 변경된 이력을 쉽게 확인 가능
  2. 특정 시점에 저장된 버전과 비교 가능
  3. 특정 시점으로 되돌아갈 수 있음
  4. 다른 사람과의 편집 충돌 시 덮어쓰기 위험 없이 해결 가능


4. 저장소 개념

종류설명
원격 저장소 (Remote Repo)서버에서 관리, 여러 사람이 공유하는 저장소
로컬 저장소 (Local Repo)내 PC 안에 있는 저장소

작업 흐름

영역설명
Working Directory로컬 작업 디렉토리 (실제 파일 수정 공간)
Staging Area커밋 시 반영될 파일을 대기시키는 공간
Local Repo로컬에 저장된 커밋 이력
Remote RepoGitHub 등 원격 저장소

5. 저장소 생성




6. 핵심 명령어 — add / commit / push

add — 파일 스테이징

# 디렉토리 안 모든 파일 추가
git add .

# 특정 파일만 추가
git add [경로/파일이름]

commit — 버전 저장

git commit -m '커밋 메시지'

💡 커밋 메시지는 추가·변경된 사항을 간략히 작성합니다.
타인이 알아볼 수 있도록, 영어로 작성하는 것이 좋습니다.

push — 원격 저장소로 업로드

git push origin master
# git push [원격 저장소 이름] [원격 저장소 브랜치 이름]

로컬 저장소의 변경사항을 원격 저장소(origin)의 브랜치(master)에 반영합니다.


7. Git 작업 영역

  • 작업 트리 → 생성한 디렉토리 영역
  • 스테이지 & 저장소git init 으로 생성된 .git 디렉토리 영역 (숨김 폴더)


8. add와 commit 이해

add 과정

파일을 작업 트리에서 생성·수정 후 add 명령어로 스테이지로 이동시킵니다.

commit 과정

스테이지에 있는 파일들을 commit 으로 버전(저장소)으로 만듭니다.
스테이지에 대기하던 파일은 사라지고 저장소에 파일이 생성됩니다.


9. Head & master


💡 HEAD → 현재 내가 작업 중인 버전을 가리키는 포인터
master → 기본 브랜치의 이름 (최신 커밋을 가리킴)


10. 변경사항 비교 — git diff

특정 두 버전 사이에서 어떤 파일의 무슨 내용이 바뀌었는지 알려줍니다.

git diff



11. 작업 되돌리기 — restore / reset stage

작업 트리 되돌리기 (add, commit 안 한 경우)

수정 사항을 취소하고 저장소에 있는 파일로 되돌립니다.

git restore [파일명]


스테이지 되돌리기 (git add 한 경우)

파일 내용은 그대로 유지되지만, 스테이징 에어리어에서만 내려옵니다.
즉, 커밋 대기 명단에서 제외시킵니다.








12. 커밋 되돌리기 — revert / reset

명령어설명
git revert과거의 변경사항을 취소하는 새 커밋을 만듦 (과거를 불러오는 것)
git reset특정 커밋으로 아예 돌아감 (과거로 돌아가는 것)

💡 revert vs reset 차이

  • revert → 이력이 남음, 협업 시 권장
  • reset → 이력이 사라짐, 혼자 작업할 때 사용





13. GitHub 원격 저장소 연결

GitHub 서버에 자료를 보내기 전 최초 1회 작업이 필요합니다.


# 원격 저장소 연결
git remote add origin [GitHub 저장소 주소]

# 최초 push
git push -u origin master

14. GitHub Issues

문제가 발생했을 때 Issue를 남길 수 있습니다. 해결하면 Close 선택합니다.



💡 Issue는 버그 리포트, 기능 요청, 작업 계획 등 협업 시 소통 도구로 활용합니다.


15. GitHub에서 가져오기 — git clone

원격 저장소의 내용을 내 PC로 복사합니다.

git clone [GitHub 저장소 주소]


💡 clone하면 해당 저장소 이름의 폴더가 자동으로 생성됩니다.


16. Branch — 브랜치

브랜치는 각자 독립적인 작업 영역(저장소)입니다.
여러 사람이 동일한 소스코드를 기반으로 서로 다른 작업을 분리해서 진행할 수 있습니다.

  • 분리된 작업 영역에서 마음대로 소스코드 변경 가능
  • 작업이 끝나면 메인 브랜치에 자신의 브랜치 변경 사항을 merge




📎 핵심 명령어 요약

명령어설명
git init로컬 저장소 초기화
git add .모든 변경 파일 스테이징
git add [파일명]특정 파일 스테이징
git commit -m '메시지'스테이징된 파일 버전으로 저장
git push origin master원격 저장소에 업로드
git diff변경사항 비교
git restore [파일명]작업 트리 수정사항 되돌리기
git revert과거 커밋 취소 (새 커밋 생성)
git reset특정 커밋으로 완전히 되돌아가기
git remote add origin [주소]원격 저장소 연결
git clone [주소]원격 저장소 복사

📎 Git 작업 흐름 요약

Working Directory   →  git add  →  Staging Area
                                        ↓
                                   git commit
                                        ↓
                                   Local Repo
                                        ↓
                                   git push
                                        ↓
                                   Remote Repo (GitHub)
profile
공부 기록

0개의 댓글