포스트

[이제와서 시작하는 GitHub 마스터하기 - 기초편 #4] Repository 이해하기

[이제와서 시작하는 GitHub 마스터하기 - 기초편 #4] Repository 이해하기

학습 목표

이 장을 마치면 다음을 할 수 있습니다:

  • ✅ Repository가 무엇인지 이해하고 설명할 수 있습니다
  • ✅ Public과 Private Repository의 차이를 알 수 있습니다
  • ✅ 첫 번째 Repository를 생성할 수 있습니다
  • ✅ Repository를 클론하여 로컬에서 작업할 수 있습니다

지난 편 복습

기초편 #3에서는 보안 설정과 인증을 배웠습니다:

  • 2단계 인증(2FA) 설정
  • Recovery Codes 안전하게 보관
  • SSH 키 생성 및 등록 (선택사항)
  • 계정 보안 강화

1. Repository란? (쉽게 이해하기)

💡 일상 속 비유로 이해하기

Repository(줄여서 Repo)를 처음 들어보셨나요? 어렵게 생각하지 마세요!

Repository = 똑똑한 프로젝트 폴더

일반 폴더처럼 파일과 폴더를 저장하지만, 특별한 기능들이 추가되어 있습니다:

  • 📷 타임머신 기능: 파일이 어떻게 변경되었는지 모든 과거 기록을 저장
  • 👥 협업 기능: 여러 사람이 동시에 작업해도 충돌 없이 합칠 수 있음
  • 🔄 백업 기능: 내 컴퓨터가 망가져도 GitHub에 백업되어 있음
  • 📝 메모 기능: 왜 이렇게 바꿨는지 설명을 남길 수 있음

🎯 실생활 예시

일반 폴더로 작업할 때:

1
2
3
4
5
6
내_프로젝트/
├── index.html
├── index_수정1.html
├── index_최종.html
├── index_진짜최종.html
└── index_진짜진짜최종.html  😵

Repository로 작업할 때:

1
2
3
4
5
6
my-project/  (Git Repository)
└── index.html  (하나의 파일에 모든 히스토리 저장 ✨)
    ├── 2025-01-01: 최초 작성
    ├── 2025-01-05: 메뉴 추가
    ├── 2025-01-10: 스타일 개선
    └── 2025-01-15: 버그 수정

어떤가요? Repository가 훨씬 깔끔하죠?

Repository의 구성 요소

Repository는 다음과 같은 핵심 구성 요소들로 이루어져 있습니다:

📁 파일과 폴더

  • 소스 코드: 프로젝트의 실제 코드 파일들
  • 문서: README, 라이선스, 기여 가이드 등
  • 리소스: 이미지, 데이터 파일, 설정 파일 등

📜 커밋 히스토리

  • 변경 이력: 모든 수정 사항의 기록
  • 작성자 정보: 누가 변경했는지 추적
  • 타임스탬프: 언제 변경되었는지 기록

🌿 브랜치

  • main/master: 메인 개발 브랜치
  • develop: 개발 통합 브랜치
  • feature/*: 기능 개발 브랜치들

🤝 협업 도구

  • Issues: 버그 리포트, 기능 요청, 작업 관리
  • Pull Requests: 코드 리뷰와 병합 요청
  • Discussions: 커뮤니티 토론과 Q&A

⚙️ 설정

  • 보안 설정: 접근 권한, 보안 정책
  • 협업자 관리: 팀원 권한 설정
  • 웹훅: 외부 서비스 연동
💡 구조도로 보기 (클릭하여 펼치기)
graph LR
    A[Repository] --> B[📁 파일과 폴더]
    A --> C[📜 커밋 히스토리]
    A --> D[🌿 브랜치]
    A --> E[🤝 협업 도구]
    A --> F[⚙️ 설정]
    
    style A fill:#e1f5fe,stroke:#01579b,stroke-width:3px
    style B fill:#fff3e0,stroke:#e65100,stroke-width:2px
    style C fill:#f3e5f5,stroke:#4a148c,stroke-width:2px
    style D fill:#e8f5e9,stroke:#1b5e20,stroke-width:2px
    style E fill:#fce4ec,stroke:#880e4f,stroke-width:2px
    style F fill:#f5f5f5,stroke:#424242,stroke-width:2px

Repository 유형 비교

유형 설명 사용 사례 비용
Public 누구나 볼 수 있음 오픈소스 프로젝트, 포트폴리오 무료
Private 초대된 사람만 접근 회사 프로젝트, 개인 작업 무료
Fork 다른 repo의 복사본 오픈소스 기여, 실험 무료
Template 재사용 가능한 템플릿 보일러플레이트, 스타터킷 무료

2. Repository 생성하기 (따라하기)

🚀 처음 만드는 분들을 위한 상세 가이드

처음 Repository를 만들 때 어디를 클릭해야 할지 막막하시죠? 천천히 따라와 주세요!

Step 1: Repository 생성 시작하기

  1. GitHub 홈페이지 접속: github.com 로그인
  2. 우측 상단 “+” 버튼 클릭 (프로필 사진 왼쪽)
  3. “New repository” 선택

💡 Tip: 키보드 단축키를 사용하고 싶다면? Ctrl + K (Mac: Cmd + K)를 누르고 “new repository”를 검색하세요!

Step 2: Repository 정보 입력하기

이제 나오는 화면에서 하나씩 채워봅시다:

📝 1. Repository name (필수)
1
입력 예시: my-first-project
  • 무엇을 입력하나요? 프로젝트 이름
  • 규칙:
    • 영어 소문자 사용 (한글 X)
    • 단어 사이는 하이픈(-) 사용
    • 공백 사용 불가
  • 좋은 예시: todo-app, personal-blog, weather-widget
  • 나쁜 예시: 내프로젝트, My Project, project!!!
📄 2. Description (선택, 하지만 권장)
1
입력 예시: 할 일 관리를 위한 간단한 웹 앱
  • 무엇을 입력하나요? 프로젝트가 무엇을 하는지 한 줄 설명
  • 왜 필요한가요? 나중에 내가 봐도, 다른 사람이 봐도 이해하기 쉬워집니다
  • : 30자 이내로 간결하게!
🌍 3. Public vs Private (필수 선택)

이게 초보자들이 가장 고민하는 부분이죠!

구분 Public (공개) Private (비공개)
누가 볼 수 있나? 전 세계 누구나 나와 내가 초대한 사람만
추천 대상 포트폴리오, 오픈소스 회사 프로젝트, 개인 프로젝트
검색 노출 ✅ 가능 ❌ 불가능
비용 무료 무료
취업 시 활용 ⭐⭐⭐⭐⭐ 적극 추천! 보여줄 수 없음

🤔 고민되시나요?

  • 처음 시작이라면? → Public 추천! (언제든 Private로 변경 가능)
  • 개인 정보 포함? → Private 선택
  • 포트폴리오 목적? → Public이 필수!
📦 4. Initialize this repository with (선택 항목들)

이 부분이 처음엔 어려울 수 있어요. 하나씩 설명드릴게요!

✅ Add a README file (꼭 체크하세요!)

1
2
3
4
5
6
7
8
9
❓ 이게 뭔가요?
프로젝트 설명서입니다. 방문자가 제일 먼저 보는 문서에요.

✅ 체크하면 좋은 이유:
- 바로 프로젝트 설명 작성 가능
- GitHub 페이지가 빈 화면이 아니라 전문적으로 보임
- 나중에 무엇을 만들었는지 기억하기 쉬움

초보자 추천: 꼭 체크하세요! ⭐

✅ Add .gitignore (언어 선택)

1
2
3
4
5
6
7
8
9
10
❓ 이게 뭔가요?
"이 파일들은 GitHub에 올리지 마!" 라고 지정하는 설정

✅ 어떤 언어를 선택하나요?
- Python 프로젝트 → "Python" 선택
- JavaScript/Node.js → "Node" 선택
- Java → "Java" 선택
- 모르겠으면 → "None" 선택 (나중에 추가 가능)

초보자 추천: 프로젝트 언어에 맞게 선택하세요

✅ Choose a license (라이선스 선택)

1
2
3
4
5
6
7
8
9
❓ 이게 뭔가요?
"내 코드를 다른 사람이 어떻게 사용해도 되는지" 규칙

✅ 어떤 것을 선택하나요?
- 공개 프로젝트이고, 자유롭게 사용해도 OK → "MIT License"
- 잘 모르겠으면 → "None" 선택 (나중에 추가 가능)
- Private 프로젝트 → 선택 불필요

초보자 추천: Public이면 "MIT License", Private이면 선택 안 해도 됨

Step 3: Repository 생성 완료!

모든 정보를 입력했다면:

  1. 맨 아래 “Create repository” 초록색 버튼 클릭
  2. 🎉 완성! 내 첫 번째 Repository가 만들어졌습니다!

✅ 초보자를 위한 추천 설정 (복사해서 사용하세요)

처음 시작하는 분들은 이렇게 입력해보세요:

1
2
3
4
5
6
7
Repository name: my-first-project
Description: GitHub 연습용 첫 번째 프로젝트
Public/Private: Public ✅
Initialize with:
  - ✅ Add a README file (체크)
  - ✅ Add .gitignore (None 선택)
  - ✅ Choose a license (MIT License 선택)

이렇게 설정하면 바로 사용 가능한 Repository가 만들어집니다!

💡 Repository 이름 정하기

좋은 이름 예시:

  • todo-app
  • personal-blog
  • python-calculator

나쁜 이름 예시:

  • 내프로젝트 ❌ (한글 사용)
  • My Project ❌ (띄어쓰기)
  • test123 ❌ (의미 없음)
📚 명명 규칙 가이드 (자세히 보기)

명명 규칙 가이드

규칙 설명 예시
kebab-case 소문자와 하이픈 사용 my-awesome-project
의미 있는 이름 프로젝트 목적 명시 invoice-generator
기술 스택 포함 주요 기술 언급 react-todo-app
버전 없음 버전은 태그로 관리 project-v2

프로젝트 유형별 명명 예시

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
웹 애플리케이션:
  - blog-platform
  - e-commerce-site
  - social-media-dashboard

라이브러리/패키지:
  - js-utils
  - react-components
  - python-api-wrapper

학습/튜토리얼:
  - learn-typescript
  - algorithm-practice
  - design-patterns-java

개인 프로젝트:
  - portfolio-2025
  - personal-blog
  - resume-builder

3. 웹에서 Repository 관리하기

좋은 소식! 터미널이나 Git 명령어 없이도 GitHub 웹사이트에서 대부분의 작업을 할 수 있습니다!

소요 시간: 약 10분 난이도: ⭐ (매우 쉬움)

웹에서 파일 추가하기

Repository를 만들었으니, 이제 파일을 추가해봅시다!

방법 1: 파일 업로드

  1. Repository 페이지로 이동
  2. “Add file” 버튼 클릭 (페이지 오른쪽 위)
  3. “Upload files” 선택
  4. 파일을 드래그 앤 드롭 또는 “choose your files” 클릭
  5. 커밋 메시지 입력
    1
    
    예시: Add project files
    
  6. “Commit changes” 녹색 버튼 클릭

방법 2: 새 파일 생성

  1. Repository 페이지에서 “Add file” 클릭
  2. “Create new file” 선택
  3. 파일 이름 입력
    1
    
    예시: hello.txt
    
  4. 파일 내용 작성
    1
    2
    
    Hello, GitHub!
    This is my first file.
    
  5. 커밋 메시지 입력
    1
    
    예시: Create hello.txt
    
  6. “Commit new file” 클릭

웹에서 파일 편집하기

기존 파일을 수정하고 싶으신가요? 웹에서 바로 편집할 수 있습니다!

  1. 편집할 파일 클릭 (예: README.md)
  2. 오른쪽 위 연필 아이콘(✏️) 클릭
  3. 파일 내용 수정
  4. Preview 탭에서 결과 확인 (Markdown 파일의 경우)
  5. 아래로 스크롤하여 커밋 메시지 입력
    1
    
    예시: Update README with project description
    
  6. “Commit changes” 버튼 클릭

웹에서 파일 삭제하기

필요 없는 파일을 삭제하고 싶으신가요?

  1. 삭제할 파일 클릭
  2. 오른쪽 위 휴지통 아이콘(🗑️) 클릭
  3. 커밋 메시지 입력
    1
    
    예시: Remove unused file
    
  4. “Commit changes” 클릭

폴더 만들기

웹에서는 폴더를 직접 만들 수 없지만, 파일을 만들 때 폴더 경로를 지정하면 자동으로 생성됩니다!

  1. “Add file” → “Create new file” 클릭
  2. 파일 이름에 폴더 경로 포함
    1
    
    예시: docs/guide.md
    
  3. 이렇게 하면 “docs” 폴더가 자동 생성됩니다!

💡 : /를 입력하면 폴더가 생성되고, 다음 입력란으로 넘어갑니다!

실습: 첫 파일 만들기

지금 바로 해봅시다!

  1. #2편에서 만든 Repository 열기 (my-first-project 등)
  2. “Add file” → “Create new file” 클릭
  3. 파일 이름: hello.txt
  4. 내용:
    1
    2
    3
    
    안녕하세요!
    이것은 제 첫 번째 GitHub 파일입니다.
    웹에서 만들었어요! 🎉
    
  5. 커밋 메시지: Create my first file
  6. “Commit new file” 클릭
  7. Repository 메인 페이지로 돌아가서 확인!

축하합니다! 웹에서 파일을 만들고 관리하는 방법을 배웠습니다! 🎉

💡 다음 단계: #7편에서 Git 명령어를 배우면 터미널에서도 같은 작업을 할 수 있습니다. 하지만 지금은 웹만으로도 충분합니다!

자주 묻는 질문 (FAQ)

Q1. Public과 Private 중 어떤 걸 선택해야 하나요?

A: 학습 프로젝트나 포트폴리오는 Public, 개인 프로젝트나 민감한 정보가 있으면 Private를 선택하세요.

Q2. Repository 이름을 나중에 바꿀 수 있나요?

A: 네, Settings에서 변경 가능합니다. 단, URL이 바뀌므로 초기에 신중하게 정하는 것을 추천합니다.

Q3. 웹에서 모든 작업을 할 수 있나요?

A: 대부분 가능합니다! 하지만 복잡한 Git 작업(branch, merge 등)은 터미널이 더 편리합니다. 그건 나중에 배웁니다!

Q4. Repository를 삭제하고 싶어요!

A: Settings → Danger Zone → Delete this repository에서 삭제 가능합니다. 단, 신중하게 하세요. 되돌릴 수 없습니다!

실습 과제

📝 필수 과제

  • Public Repository 1개 만들기 (my-first-project)
  • README 추가하여 생성하기
  • 웹에서 새 파일 만들기 (hello.txt)
  • 웹에서 README 편집하기
  • 커밋 히스토리 확인하기

🚀 도전 과제

  • Private Repository도 만들어보기
  • .gitignore와 라이선스 선택해보기
  • 폴더 구조 만들기 (docs/guide.md)
  • 파일 업로드 기능 사용해보기

마무리

축하합니다! 이제 Repository의 개념을 이해하고, 웹에서 파일을 만들고 관리할 수 있게 되었습니다!

오늘 배운 것:

  • ✅ Repository가 무엇인지 이해
  • ✅ Repository 생성 방법
  • ✅ 웹에서 파일 추가/편집/삭제
  • ✅ 폴더 구조 만들기

🎯 다음 단계

다음 편에서는 README 파일을 전문가처럼 작성하는 방법을 배워보겠습니다!

  • Markdown 문법 완벽 정리
  • 멋진 README 템플릿
  • Badge, 이미지, 코드 블록 활용

웹 작업에 익숙해지셨나요? 다음 편에서 만나요! 👋

📚 GitHub 마스터하기 시리즈

🌱 기초편 (입문자)

  1. GitHub 소개와 계정 만들기
  2. 프로필 꾸미기와 포트폴리오
  3. 보안 설정과 인증
  4. Repository 이해하기 👉 현재 글
  5. README 작성법
  6. .gitignore와 라이선스
  7. 첫 커밋과 관리
  8. git add와 commit
  9. git push와 pull
  10. 실전 워크플로우
  11. Branch 기본
  12. Merge와 Rebase
  13. 브랜치 전략
  14. Fork와 Clone
  15. Pull Request

💼 실전편 (중급자)

  1. Issues 활용법
  2. Projects로 프로젝트 관리
  3. Code Review 잘하기
  4. GitHub Discussions
  5. Team 협업 설정
  6. GitHub Pages

🚀 고급편 (전문가)

  1. GitHub Actions 입문
  2. Actions 고급 활용
  3. Webhooks와 API
  4. GitHub Apps 개발
  5. 보안 기능
  6. GitHub Packages
  7. Codespaces
  8. GitHub CLI
  9. 통계와 인사이트

🏆 심화편 (전문가+)

  1. Git Submodules & Subtree
  2. Git 내부 동작 원리
  3. 고급 브랜치 전략과 릴리스 관리
  4. GitHub GraphQL API
  5. GitHub Copilot 완벽 활용
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.