Codex 기초 · 부록
GitHub 쉽게 이해하기
팀 과제 보고서에 빗대어 보는 Git · GitHub · 브랜치 · PR · 워크트리
Git과 GitHub는 무엇이 다른가
Git
내 컴퓨터의 버전 기록 장치
저장할 때마다 "언제 · 무엇을 · 왜"를 기록해 언제든 예전 상태로 돌아감
GitHub
인터넷의 보관소 + 협업 공간
기록을 올려 두고 팀원들과 함께 검토 · 검사 · 합치기를 하는 곳
꼭 알아야 할 용어 9가지
저장소repository
프로젝트 폴더 전체와 모든 변경 기록
팀 과제 폴더 + 수정 기록커밋commit
변경을 묶어 "이 시점"으로 저장. 고유 번호가 붙음 (예: 3f9a2c1)
"2차 수정본" 저장브랜치branch
원본을 건드리지 않고 따로 작업하는 줄기
원본은 두고 내 사본에서 고치기main기본 브랜치
모두가 기준으로 삼는 최종본. 웹사이트라면 실제로 공개되는 버전
최종 제출본푸시 · 풀push · pull
내 컴퓨터 → GitHub 올리기 / GitHub → 내 컴퓨터 받기
공유 드라이브에 올리기 · 받기PRpull request
"내 수정본을 최종본에 합쳐 주세요" 요청서. 바뀐 부분을 비교·검토
팀장에게 내는 수정 요청서CI · 자동 검사continuous integration
PR이 올라올 때마다 시험을 자동으로 실행
자동 맞춤법 · 채점 검사기병합merge
검토·검사를 통과한 PR을 main에 합침
수정본을 최종본에 반영브랜치 보호branch protection
main은 검사를 통과한 PR로만 바뀌게 잠그는 설정
검토 없이 최종본 교체 금지팀 프로젝트에서 수정이 최종본이 되기까지
✕ main에 바로 올리기(1 → 6) — 막아 두는 것이 안전
- 작업·커밋내 브랜치에서 고치고 저장
- 푸시내 브랜치를 GitHub에 올림
- PR 만들기"합쳐 주세요" 요청서 제출PR 화면에서 바뀐 부분을 보고 의견을 남김
- 검사·검토자동 검사 + 팀원 의견통과 못 하면 합칠 수 없게 설정할 수 있음
- 병합통과하면 main에 합쳐짐
- 최종본웹사이트라면 자동으로 공개
main이 바뀌는 순간 = 최종본 변경 예: Vercel · Netlify 자동 배포
팁: 혼자 하는 프로젝트도 "브랜치 → PR → 병합" 순서로 연습해 두면, 실수를 찾고 되돌리기가 훨씬 쉬워집니다.
워크트리 — 같은 저장소를 여러 폴더에 동시에 펼쳐 두기
Git은 원래 폴더 하나에 브랜치 하나만 펼쳐 둘 수 있습니다. 워크트리를 쓰면 기록 장부는 하나로 두고, 작업 폴더를 여러 개 만들어 각자 다른 브랜치를 펼칠 수 있습니다.
폴더 Amy-project/
main 브랜치를 펼침예: 최종본 확인용
작업 파일은
따로따로
폴더 Bmy-project-fix/
fix/typo 브랜치를 펼침예: 급한 오타 수정 작업
같은 보고서를 책상 두 개에 따로 펼쳐 놓고 각자 다른 수정을 합니다. 수정 기록 장부는 하나라서 나중에 합치기 쉽습니다.
하던 작업은 그대로 두고 급한 수정을 할 때, 두 버전을 나란히 비교할 때, AI 코딩 도구 여러 개가 동시에 작업할 때.
git worktree add ../my-project-fix fix/typo # 폴더 B 만들기: fix/typo 브랜치를 펼침 git worktree list # 펼쳐 둔 폴더 목록 보기 git worktree remove ../my-project-fix # 다 쓰면 정리 (안 하면 폴더가 쌓임)
브랜치 · 워크트리 · 클론, 무엇이 다른가
| 이름 | 무엇인가 | 기록(장부) | 비유 |
|---|---|---|---|
| 브랜치 | 작업 줄기의 이름표 | 같은 장부 안 | "수정본 B"라는 표시 |
| 워크트리 | 그 줄기를 펼쳐 둔 추가 작업 폴더 | 장부를 함께 씀 | 보고서를 펼친 두 번째 책상 |
| 클론 | 저장소 전체를 통째로 새로 복사 | 장부도 따로 가짐 | 폴더와 기록을 통째로 복사 |
자주 헷갈리는 것
커밋하면 바로 공개되나요?
아닙니다. 커밋은 내 컴퓨터에 저장하는 것뿐입니다.
푸시하면요?
GitHub에 보관됩니다. 최종본은 main에 병합되는 순간 바뀝니다.
실수하면요?
기록이 모두 남아 있어 예전 상태로 되돌릴 수 있습니다 (예: git revert).
처음 써 볼 때 자주 쓰는 명령어
| 하고 싶은 일 | 명령어 |
|---|---|
| GitHub의 프로젝트를 내 컴퓨터로 가져오기 | git clone 저장소주소 |
| 지금 무엇이 바뀌었는지 보기 | git status |
| 새 브랜치를 만들고 그쪽으로 이동 | git switch -c fix/typo |
| 바뀐 파일을 저장할 목록에 담기 → 저장(커밋) | git add 파일이름 → git commit -m "오타 수정" |
| 내 브랜치를 GitHub에 올리기 | git push -u origin fix/typo |
| PR 만들기 | 올린 뒤 GitHub 웹사이트의 Compare & pull request 버튼 |
| 팀원이 올린 최신 내용 받기 | git pull |
원본: 「Git · GitHub 기초 안내 · 수강생 공유용」 2쪽 안내문. 위 PDF와 내용이 같습니다.
명령어 확인 메모
이 쪽에서 덧붙인 확인 기록입니다. 안내문 내용은 바꾸지 않았습니다.
- 4번과 7번의 명령어는 2026년 10월 20일, Git 2.50.1에서 연습용 저장소를 만들어 적힌 그대로 실행해 확인했습니다.
git worktree add ../my-project-fix fix/typo는 4번 그림처럼fix/typo브랜치가 이미 있고, 다른 폴더(폴더 A)에서 펼쳐져 있지 않을 때 됩니다. 폴더 A가fix/typo를 펼친 채로 실행하면 Git이 거절합니다.git worktree remove는 그 폴더에 커밋하지 않은 변경이 있으면 지우지 않고 멈춥니다.- Compare & pull request 버튼은 GitHub 공식 문서에 나오는 이름입니다.
출처: git-worktree 공식 문서, git-switch 공식 문서, GitHub Docs — Creating a pull request (2026-10-20 확인)