과정명: 비전공자/주니어 개발자를 위한 Git & GitHub 시작부터 PR 과제 제출까지
생존코딩 오준석
진행 방식: 설명 20% + 실습 80%의 따라하기(Google Codelab/Hands-on) 방식
최종 목표: 로컬 버전 관리 기초를 완벽히 이해하고, GitHub에서 Pull Request(PR)로 과제를 제출할 수 있다.
| 단계 | 모듈명 | 주요 학습 및 실습 내용 |
|---|---|---|
| 0단계 | 환경 준비 & Git 첫걸음 | • Git이란 무엇인가? 왜 쓰는가? • Windows( winget), macOS(brew) 설치• PowerShell vs Git Bash vs WSL2 장기적 권장 비교 • 필수 전역 설정( user.name, user.email, autocrlf 등) |
| 1단계 | Git 3대 영역과 로컬 버전 관리 | • Git 3가지 공간: 작업 디렉터리 • git init, git status• git add ., git commit -m "..."• git log --oneline --graph• .gitignore 실습 |
| 2단계 | 변경 사항 비교와 안전하게 되돌리기 | • git diff 및 git diff --staged• 최신 git restore로 파일 수정 취소 (🔍 git checkout -- 비교)• 최신 git restore --staged로 언스테이징 (🔍 git reset HEAD 비교)• 직전 커밋 수정: git commit --amend
|
| 3단계 | GitHub 원격 저장소 연동과 동기화 | • 로컬 저장소와 원격 저장소(GitHub)의 개념 • GitHub 리포지토리 생성 및 연결 ( git remote add origin)• 첫 푸시 ( git push -u origin master)• 복제( git clone) 및 동기화(git pull) 실습 (1인 2역) |
| 4단계 | 브랜치(Branch) 기초와 평화로운 병합 | • 브랜치의 개념과 독립적 작업 환경 • 최신 git switch -c 브랜치 생성 및 이동 (🔍 git checkout -b 비교)• 기능 구현 및 커밋 • Fast-Forward 로컬 병합 ( git merge)• 브랜치 삭제 ( git branch -d) |
| 5단계 | 협업의 꽃! Pull Request(PR)로 과제 제출 | • 왜 main에 직접 푸시하지 않고 PR을 쓰는가? • 과제 저장소 Fork • 과제 작성(자기소개 프로필) 후 커밋 & 푸시 • GitHub PR 생성, 코드 리뷰 코멘트 작성, 머지 확인 • Day 1 정리 & Day 2(찐 협업: 충돌 해결, Rebase) 예고 |
- "첫날은 과제 제출(PR)까지 막힘없이 성공하는 것이 핵심!"
- 수강생들이 첫날 Git에 질리지 않고, "버전 관리의 흐름과 협업 방식(PR)"을 온전히 체득하는 데 집중합니다.
- 복잡한 브랜치 충돌(Conflict) 해결과 심화 커맨드는 별도 분리
- 별도 수업에서 진행
- 📖 Day 1 메인 이론 및 실습 교안 (01_git_hands_on_day1.md)
- 0단계(설치)부터 5단계(PR 과제)까지 개념과 실습을 완벽히 다루는 올인원 가이드
- 🥊 10단계 손맛 챌린지 & 나만의 TIL 과제 워크북 (02_hands_on_practice.md)
- 군더더기 없는 10단계 핵심 손맛 실습 (로컬 생성
$\rightarrow$ 3회 커밋$\rightarrow$ 원격 푸시$\rightarrow$ hard reset 예측 퀴즈$\rightarrow$ 원격 복구$\rightarrow$ 폴더 삭제$\rightarrow$ clone 부활) - AI 시대를 이기는 나만의 언어로 작성하는 TIL 과제 작성 및 PR 제출 가이드 (
01_이름_Git버전관리)
- 군더더기 없는 10단계 핵심 손맛 실습 (로컬 생성
- ☕ Day 2 Java 기초 핸즈온 교안 (03_java_basics_hands_on.md)
- 코딩 무경험자/창업자를 위한 4시간 완성 Java 기초 (변수, 조건문, 반복문, 메서드 5대 기둥 실습)
- IntelliJ 단일 통합 설치, 2인 1조 페어 코드 워크스루, assignments/day02/ 과제 제출 가이드