포스트

이제와서 시작하는 GitHub 마스터하기 - 100일 챌린지 커리큘럼

이제와서 시작하는 GitHub 마스터하기 - 100일 챌린지 커리큘럼

🎯 100일 챌린지 소개

“이제와서 시작하는 GitHub 마스터하기” 100일 챌린지에 오신 것을 환영합니다!

이 시리즈는 GitHub 초보자부터 고급 사용자까지, 하루 10-15분 투자100일 후 GitHub 전문가가 되는 것을 목표로 합니다.

핵심 특징

  • 📅 100일 완주 프로그램: 하루 한 가지씩 체계적 학습
  • ⏱️ 부담 없는 학습량: 매일 10-15분 (읽기 5분 + 실습 10분)
  • 🎓 입문부터 고급까지: 단계적 난이도 상승
  • 💼 실전 중심: GitHub 실무 활용 능력 향상

📚 10 Phases 구조

graph TD
    Start[Day 1: 시작] --> P1[Phase 1-2<br/>GitHub 웹 기반]
    P1 --> P2[Phase 3-4<br/>Git CLI 기초]
    P2 --> P3[Phase 5-6<br/>브랜치/협업]
    P3 --> P4[Phase 7-8<br/>고급 명령어]
    P4 --> P5[Phase 9-10<br/>자동화/실전]
    P5 --> End[Day 100: 완주!]

    style Start fill:#4CAF50
    style End fill:#FF6B6B

난이도 곡선

1
2
3
4
5
6
7
8
9
10
11
12
13
⭐⭐⭐⭐⭐ |                                    ╱╱╱
⭐⭐⭐⭐   |                          ╱╱╱╱╱╱
⭐⭐⭐     |              ╱╱╱╱╱╱╱╱
⭐⭐       |    ╱╱╱╱╱╱╱╱
⭐         | ╱╱╱
           +----------------------------------------
           Day 1  20  40  60  80  100

Phase 1-2: ⭐⭐ 웹 기반 (쉬움)
Phase 3-4: ⭐⭐⭐ CLI 명령어 (보통)
Phase 5-6: ⭐⭐⭐⭐ 브랜치/협업 (중급)
Phase 7-8: ⭐⭐⭐⭐ 고급 기능 (어려움)
Phase 9-10: ⭐⭐⭐⭐⭐ 자동화/실전 (고급)

📋 전체 커리큘럼

Phase 1: GitHub 입문 (Day 1-10) 🥉

목표: GitHub 계정 완벽 설정

Week 1: 계정과 프로필 (Day 1-5)

Day 제목 난이도 상태
1 GitHub이란? - 개발자의 필수 도구
2 GitHub 계정 만들기
3 프로필 꾸미기 📝
4 프로필 README 기본 ⭐⭐ 📝
5 프로필 README 고급 ⭐⭐ 📝

Week 2: 보안과 인터페이스 (Day 6-10)

Day 제목 난이도 상태
6 비밀번호 보안 📝
7 2단계 인증 ⭐⭐ 📝
8 Personal Access Token ⭐⭐ 📝
9 SSH 키 설정 ⭐⭐ 📝
10 GitHub UI 가이드 ⭐⭐ 📝

Phase 2: Repository 기초 (Day 11-20) 🥉

목표: 첫 저장소 완성

Week 3: 저장소 시작 (Day 11-15)

Day 제목 난이도 상태
11 Repository 개념 이해 📝
12 첫 Repository 생성 📝
13 README.md 기본 작성 ⭐⭐ 📝
14 README.md 구조화 ⭐⭐ 📝
15 README.md 고급 기능 ⭐⭐ 📝

Week 4: 저장소 설정 (Day 16-20)

Day 제목 난이도 상태
16 .gitignore 이해하기 ⭐⭐ 📝
17 언어별 .gitignore 작성 ⭐⭐ 📝
18 오픈소스 라이선스 선택 ⭐⭐ 📝
19 웹에서 파일 관리하기 📝
20 Repository Settings 최적화 ⭐⭐ 📝

Phase 3: Git 로컬 작업 (Day 21-30) 🥈

목표: Git 명령어 숙달

Week 5: Git 설치와 설정 (Day 21-25)

Day 제목 난이도 상태
21 Git 설치 (Windows) ⭐⭐ 📝
22 Git 설치 (Mac/Linux) ⭐⭐ 📝
23 Git 초기 설정 ⭐⭐ 📝
24 로컬 저장소 초기화 ⭐⭐ 📝
25 Repository Clone하기 ⭐⭐ 📝

Week 6: Git 핵심 개념 (Day 26-30)

Day 제목 난이도 상태
26 Git 3영역 이해 ⭐⭐⭐ 📝
27 파일 상태 4가지 ⭐⭐⭐ 📝
28 git add로 스테이징 ⭐⭐ 📝
29 git commit으로 저장 ⭐⭐ 📝
30 커밋 메시지 작성법 ⭐⭐ 📝

Phase 4: Remote 연동 (Day 31-40) 🥈

목표: 로컬-원격 동기화

Week 7: Push와 Pull (Day 31-35)

Day 제목 난이도 상태
31 Remote Repository 이해 ⭐⭐⭐ 📝
32 git push로 업로드 ⭐⭐ 📝
33 git pull로 다운로드 ⭐⭐ 📝
34 git fetch 활용 ⭐⭐⭐ 📝
35 Push/Pull 트러블슈팅 ⭐⭐⭐ 📝

Week 8: 상태 확인 (Day 36-40)

Day 제목 난이도 상태
36 git status 완벽 가이드 ⭐⭐ 📝
37 git log 히스토리 보기 ⭐⭐⭐ 📝
38 git diff 변경사항 확인 ⭐⭐⭐ 📝
39 git show 커밋 상세보기 ⭐⭐ 📝
40 Git Alias 단축키 설정 ⭐⭐ 📝

Phase 5: 브랜치 전략 (Day 41-50) 🥇

목표: 브랜치 마스터

Week 9: 브랜치 기초 (Day 41-45)

Day 제목 난이도 상태
41 브랜치 개념과 필요성 ⭐⭐⭐ 📝
42 브랜치 생성하기 ⭐⭐ 📝
43 브랜치 이동하기 ⭐⭐ 📝
44 각 브랜치에서 작업 ⭐⭐⭐ 📝
45 브랜치 삭제하기 ⭐⭐ 📝

Week 10: Merge와 Rebase (Day 46-50)

Day 제목 난이도 상태
46 Fast-Forward Merge ⭐⭐⭐ 📝
47 3-Way Merge ⭐⭐⭐⭐ 📝
48 Merge Conflict 해결 ⭐⭐⭐⭐ 📝
49 Rebase 이해하기 ⭐⭐⭐⭐ 📝
50 브랜치 전략 (Git Flow) ⭐⭐⭐⭐ 📝

Phase 6: 오픈소스 협업 (Day 51-60) 🥇

목표: 첫 오픈소스 기여

Week 11: Fork와 Clone (Day 51-55)

Day 제목 난이도 상태
51 Fork 개념 이해 ⭐⭐⭐ 📝
52 Upstream과 Origin ⭐⭐⭐ 📝
53 Upstream 동기화 ⭐⭐⭐⭐ 📝
54 Fork 저장소 작업 ⭐⭐⭐ 📝
55 기여할 프로젝트 찾기 ⭐⭐ 📝

Week 12: Pull Request (Day 56-60)

Day 제목 난이도 상태
56 Pull Request 개념 ⭐⭐⭐ 📝
57 PR 생성하기 ⭐⭐⭐ 📝
58 좋은 PR 설명 작성 ⭐⭐⭐ 📝
59 코드 리뷰 받고 수정 ⭐⭐⭐⭐ 📝
60 PR Merge와 완료 ⭐⭐⭐ 📝

Phase 7: Git 고급 명령어 (Day 61-70) 💎

목표: 실수 복구와 고급 기능

Week 13: 되돌리기 (Day 61-65)

Day 제목 난이도 상태
61 git reset 개념 ⭐⭐⭐⭐ 📝
62 git reset 실습 ⭐⭐⭐⭐ 📝
63 git revert 안전하게 ⭐⭐⭐ 📝
64 git restore 파일 복구 ⭐⭐⭐ 📝
65 git clean 정리하기 ⭐⭐ 📝

Week 14: 고급 기능 (Day 66-70)

Day 제목 난이도 상태
66 git stash 임시 저장 ⭐⭐⭐ 📝
67 Stash 고급 활용 ⭐⭐⭐⭐ 📝
68 git cherry-pick ⭐⭐⭐⭐ 📝
69 git reflog 복구 ⭐⭐⭐⭐ 📝
70 git bisect 버그 찾기 ⭐⭐⭐⭐ 📝

Phase 8: GitHub 협업 도구 (Day 71-80) 💎

목표: 프로젝트 관리

Week 15: Issues와 Projects (Day 71-75)

Day 제목 난이도 상태
71 GitHub Issues 기초 ⭐⭐ 📝
72 Issues 관리하기 ⭐⭐⭐ 📝
73 Issue 고급 기능 ⭐⭐⭐ 📝
74 GitHub Projects 기초 ⭐⭐⭐ 📝
75 Projects 작업 관리 ⭐⭐⭐⭐ 📝

Week 16: Wiki와 협업 (Day 76-80)

Day 제목 난이도 상태
76 GitHub Wiki 만들기 ⭐⭐ 📝
77 Wiki 고급 활용 ⭐⭐⭐ 📝
78 GitHub Discussions ⭐⭐ 📝
79 팀 협업 설정 ⭐⭐⭐ 📝
80 Code Review 문화 ⭐⭐⭐⭐ 📝

Phase 9: 자동화와 CI/CD (Day 81-90) 💎

목표: GitHub Actions 마스터

Week 17: Actions 기초 (Day 81-85)

Day 제목 난이도 상태
81 CI/CD 개념 이해 ⭐⭐⭐ 📝
82 GitHub Actions 소개 ⭐⭐⭐ 📝
83 첫 Workflow 만들기 ⭐⭐⭐⭐ 📝
84 테스트 자동화 ⭐⭐⭐⭐ 📝
85 빌드 자동화 ⭐⭐⭐⭐ 📝

Week 18: 배포 자동화 (Day 86-90)

Day 제목 난이도 상태
86 GitHub Pages 배포 ⭐⭐⭐ 📝
87 배포 Workflow ⭐⭐⭐⭐ 📝
88 Actions Marketplace ⭐⭐⭐ 📝
89 Workflow 최적화 ⭐⭐⭐⭐⭐ 📝
90 완전한 CI/CD 파이프라인 ⭐⭐⭐⭐⭐ 📝

Phase 10: 실전 프로젝트 (Day 91-100) 🏆

목표: 포트폴리오 완성

Week 19: 종합 프로젝트 (Day 91-95)

Day 제목 난이도 상태
91 프로젝트 기획하기 ⭐⭐⭐ 📝
92 Repository 완벽 설정 ⭐⭐⭐⭐ 📝
93 브랜치 전략 적용 ⭐⭐⭐⭐ 📝
94 CI/CD 파이프라인 구축 ⭐⭐⭐⭐⭐ 📝
95 협업 시뮬레이션 ⭐⭐⭐⭐ 📝

Week 20: 포트폴리오 완성 (Day 96-100)

Day 제목 난이도 상태
96 프로필 최적화 ⭐⭐⭐ 📝
97 문서화 완성 ⭐⭐⭐ 📝
98 포트폴리오 점검 ⭐⭐⭐⭐ 📝
99 실제 오픈소스 기여 ⭐⭐⭐⭐⭐ 📝
100 100일 회고와 수료 ⭐⭐⭐ 📝

💪 참여 방법

1. 매일 학습

  • 📖 해당 Day 포스트 읽기 (5분)
  • 💻 실습 따라하기 (10분)
  • ✅ 체크리스트 완료

2. 진행 상황 추적

자신만의 방법으로 학습 진도를 기록하세요:

  • 📝 학습 노트 작성
  • ✅ 완료한 Day 체크리스트 관리
  • 💻 실습 결과물 GitHub에 업로드

💡 학습 팁

  1. 매일 같은 시간: 꾸준한 루틴 만들기
  2. 건너뛰지 않기: 작은 진전이라도 매일 실천
  3. 실습 필수: 읽기만 하지 말고 직접 따라하기
  4. 본인 속도로: 이해가 우선, 빠르게 끝내기보다 제대로 이해하기
  5. 복습 중요: 막히면 이전 Day로 돌아가서 복습

🚀 지금 시작하기

준비되셨나요? 첫 걸음을 시작해보세요!

👉 Day 1: GitHub이란?


지금 바로 시작하세요! 🚀

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.