1단원 — 시작하기
Git 설치 · user.name/email · git init · 첫 commit
버전 관리 없이 코드를 수정하면 "최최최최종.zip"처럼 파일이 쌓이는 경험을 누구나 해 봤을 것입니다. Git은 변경 이력을 스냅샷으로 저장해 언제든 과거로 돌아갈 수 있게 해 주는 도구이며, GitHub는 이 이력을 인터넷에 올려 여러 사람이 함께 작업할 수 있게 해 주는 플랫폼입니다.
2단원 — 일상 작업
add · commit · log · diff · .gitignore · alias
Git을 매일 사용하려면 `add`, `commit`, `log`, `diff` 네 명령을 손에 익혀야 합니다. 여기에 `.gitignore`로 추적에서 제외할 파일을 관리하고, 반복 명령을 `alias`로 단축하며, `HEAD`가 무엇을 가리키는지 이해하면 하루 종일 터미널을 떠나지 않아도 편안하게 작업할 수 있습니다.
3단원 — 브랜치와 병합
branch · switch · merge · conflict
브랜치는 Git의 가장 강력한 기능입니다. 메인 코드를 건드리지 않고 새 기능을 실험하거나 버그를 수정할 수 있으며, 완성되면 병합(merge)으로 합칩니다. 브랜치를 자유롭게 다루면 혼자 개발할 때도 여러 아이디어를 동시에 진행할 수 있습니다.
4단원 — 원격 저장소
clone · push · pull · fetch · 자격증명
로컬 Git은 혼자만의 버전 관리입니다. GitHub 같은 원격 저장소를 연결하면 코드를 안전하게 백업하고, 어디서든 내려받을 수 있으며, 팀원과 함께 작업할 수 있습니다. 이 단원에서는 `clone`, `push`, `pull`, `fetch`의 차이를 명확히 구분하고 PAT(Personal Access Token)와 SSH 키 인증까지 설정합니다.
5단원 — GitHub 협업
fork · PR · Issue · Review · 브랜치 보호
오픈 소스 프로젝트에 기여하거나 팀 프로젝트를 진행할 때 fork·PR(Pull Request)·Issue·Code Review가 협업의 핵심 흐름입니다. 이 단원에서는 GitHub의 UI 중심 기능들을 이해하고, 브랜치 보호 규칙과 CODEOWNERS 설정으로 코드 품질을 지키는 방법을 배웁니다.
6단원 — 취소와 되돌리기
reset · revert · restore · checkout · reflog · stash
Git의 가장 큰 장점 중 하나는 실수를 되돌릴 수 있다는 것입니다. `reset`, `revert`, `restore`, `reflog`, `stash` — 다섯 가지 도구를 상황에 맞게 쓰면 잘못된 커밋, 잘못 스테이징된 파일, 임시 저장이 필요한 작업을 안전하게 처리할 수 있습니다.
7단원 — rebase와 cherry-pick
interactive rebase · squash · cherry-pick · force-with-lease
`merge`가 두 브랜치의 이력을 합치는 반면, `rebase`는 커밋을 다른 곳에 새로 이어 붙여 히스토리를 선형으로 만듭니다. `cherry-pick`은 다른 브랜치의 특정 커밋만 골라서 현재 브랜치에 적용합니다. 이 두 도구를 사용하면 커밋 이력을 깔끔하게 정리하고 필요한 변경만 선택적으로 가져올 수 있습니다.
8단원 — GitHub Actions
workflow yml · triggers · matrix · cache · secrets
GitHub Actions는 코드 push, PR 생성, 일정 시간 등 이벤트에 반응해 자동으로 빌드·테스트·배포를 실행하는 CI/CD 플랫폼입니다. YAML 파일 하나로 복잡한 파이프라인을 정의할 수 있으며, 오픈 소스 액션을 재사용해 빠르게 구성할 수 있습니다.