포스트

[GitHub 100일 챌린지] Day 20 - Repository Settings 최적화하기

[GitHub 100일 챌린지] Day 20 - Repository Settings 최적화하기

100일 챌린지 Day 20 - Repository 설정을 프로페셔널하게 관리합니다

배울 내용

  1. General 설정 최적화
  2. Features와 Permissions 관리
  3. 보안 설정하기

Topic1. General 설정 최적화

Repository의 기본 설정을 관리합니다.

Settings 접근

해보기:

1
2
3
1. Repository 메인 페이지
2. 상단 "Settings" 탭 클릭
3. General 섹션 확인

Repository name과 Description

이름 변경:

1
2
3
4
5
6
7
Repository name:
my-project → awesome-project

⚠️ 주의:
- URL이 변경됨
- Star/Fork 유지
- 이전 URL은 자동 리다이렉트

Description (설명):

1
2
3
4
5
6
7
8
9
10
✅ 좋은 예:
"React로 만든 할 일 관리 웹앱"

❌ 나쁜 예:
"프로젝트입니다"

권장:
- 한 문장으로 명확하게
- 기술 스택 포함
- 용도 명시

Topics (주제 태그)

추가하기:

1
2
3
4
5
6
7
8
1. "About" 섹션 오른쪽 톱니바퀴
2. "Topics" 입력:
   - react
   - typescript
   - todo-app
   - web-development

3. Save changes

효과:

1
2
3
✅ 검색 가능성 향상
✅ 관련 프로젝트와 연결
✅ Trending 노출 가능

Social Preview

이미지 추가:

1
2
3
4
5
1. Settings → General
2. Social preview 섹션
3. "Upload an image..." 클릭
4. 이미지 선택 (1280x640 권장)
5. Save

효과:

1
2
3
4
SNS 공유 시 표시되는 이미지:
🐦 Twitter
💼 LinkedIn
📘 Facebook

해보기: Repository 정보 최적화

1
2
3
1. Description 업데이트
2. Topics 3개 이상 추가
3. Website 링크 추가 (있다면)

결과: 전문적인 Repository 첫인상을 만들 수 있습니다


Topic2. Features와 Permissions

Repository 기능과 권한을 설정합니다.

Features 활성화/비활성화

Issues:

1
2
3
4
5
6
7
8
✅ 활성화 권장:
- 버그 리포트
- 기능 요청
- 작업 관리

❌ 비활성화:
- 개인 연습 프로젝트
- Issues 사용 안 함

Discussions:

1
2
3
4
5
6
7
8
✅ 활성화:
- 커뮤니티 토론
- Q&A 섹션
- 공지사항

❌ 비활성화:
- 작은 프로젝트
- 불필요한 경우

Wiki:

1
2
3
4
5
6
7
8
✅ 활성화:
- 상세한 문서
- 다국어 문서
- 복잡한 가이드

❌ 비활성화:
- README로 충분
- 문서 적음

Projects:

1
2
3
4
5
6
7
8
✅ 활성화:
- 작업 관리
- 칸반 보드
- 로드맵

❌ 비활성화:
- 외부 도구 사용
- 소규모 프로젝트

템플릿 설정

Issue 템플릿:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1. Settings → General
2. "Set up templates" 클릭
3. "Bug report" 선택
4. 템플릿 편집:

---
name: Bug Report
about: 버그를 제보해주세요
---

## 증상
무슨 문제가 발생했나요?

## 재현 방법
1.
2.
3.

## 예상 동작
어떻게 동작해야 하나요?

Pull Request 템플릿:

1
2
3
4
5
6
7
8
9
10
11
12
1. Repository 루트에 파일 생성:
   .github/pull_request_template.md

2. 내용:
## 변경 사항
-

## 테스트
- [ ] 로컬 테스트 완료
- [ ] 빌드 성공

## 스크린샷

Danger Zone

가시성 변경:

1
2
3
4
5
6
7
8
Public → Private:
- 언제든 가능
- Star/Fork는 유지되지만 보이지 않음

Private → Public:
- 신중하게!
- 비밀 정보 확인
- .env 등 제거 확인

Transfer ownership:

1
2
3
4
5
6
다른 계정으로 이전:
- 개인 → 조직
- 조직 → 개인
- 다른 사용자

⚠️ 신중하게 결정

Delete repository:

1
2
3
4
5
6
7
8
⚠️⚠️⚠️ 매우 위험 ⚠️⚠️⚠️

삭제 전 확인:
1. 정말 필요한가?
2. 백업 있는가?
3. Fork/Star 포기하는가?

복구: 90일 이내 가능 (GitHub 지원)

해보기: Features 설정하기

1
2
3
1. Issues 활성화 (또는 비활성화)
2. Wiki 설정
3. Projects 활성화 여부 결정

결과: Repository를 용도에 맞게 설정할 수 있습니다


Topic3. 보안 설정하기

Repository의 보안을 강화합니다.

브랜치 보호

Default branch 설정:

1
2
3
4
1. Settings → General
2. Default branch 섹션
3. main 또는 master 확인
4. 필요시 변경

Branch protection rules:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1. Settings → Branches
2. "Add rule" 클릭
3. Branch name pattern: main
4. 옵션 선택:

✅ Require pull request before merging
   - main에 직접 push 방지
   - PR 필수

✅ Require status checks
   - CI/CD 통과 필수

✅ Require conversation resolution
   - 모든 리뷰 해결 필수

Security 탭 설정

Dependabot alerts:

1
2
3
4
5
6
7
1. Settings → Security & analysis
2. "Dependabot alerts" 활성화
3. "Dependabot security updates" 활성화

효과:
✅ 취약점 자동 감지
✅ 업데이트 PR 자동 생성

Secret scanning:

1
2
3
4
5
6
Public Repository는 자동 활성화:
✅ API 키 감지
✅ 비밀번호 감지
✅ 토큰 감지

Private는 GitHub Advanced Security 필요

Access 관리

Collaborators 추가:

1
2
3
4
5
6
7
1. Settings → Collaborators
2. "Add people" 클릭
3. GitHub 사용자명 입력
4. 권한 선택:
   - Read: 읽기만
   - Write: 읽기 + push
   - Admin: 모든 권한

Teams (조직용):

1
2
3
조직 Repository는:
- Team별 권한 관리
- 역할 기반 접근

Webhooks

이벤트 알림 설정:

1
2
3
4
5
6
7
8
9
10
11
12
1. Settings → Webhooks
2. "Add webhook" 클릭
3. Payload URL: 알림받을 URL
4. 이벤트 선택:
   - Push
   - Pull request
   - Issues

사용 예:
- Slack 알림
- CI/CD 트리거
- 자동화 워크플로우

해보기: 보안 설정하기

1
2
3
4
1. Default branch 확인
2. Dependabot alerts 활성화
3. Secret scanning 확인
4. (팀 프로젝트면) Collaborators 추가

결과: 안전하고 전문적인 Repository를 만들 수 있습니다


정리

완료 체크:

  • General 설정을 최적화했다
  • Features를 적절히 활성화했다
  • 보안 설정을 강화했다

Settings 체크리스트:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
✅ General:
- [ ] Description 추가
- [ ] Topics 3개 이상
- [ ] Social preview 이미지

✅ Features:
- [ ] Issues 활성화 여부
- [ ] Wiki 필요 여부
- [ ] Projects 사용 여부

✅ Security:
- [ ] Dependabot alerts 활성화
- [ ] Branch protection (필요시)
- [ ] Collaborators 관리

추천 설정 (Public 프로젝트):

1
2
3
4
5
✅ Description + Topics
✅ Issues 활성화
✅ Dependabot alerts
✅ README.md, LICENSE
✅ .gitignore

Phase 2 완료! 🎉

1
2
3
4
5
6
7
8
9
10
Day 11-20 학습 완료:
✅ Repository 개념
✅ README.md 작성
✅ .gitignore 관리
✅ License 추가
✅ 웹에서 파일 관리
✅ Settings 최적화

다음 Phase 3에서는
로컬에서 Git을 사용합니다!

다음: Day 21 - Git 설치 (Windows)

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