[GitHub 100일 챌린지] Day 20 - Repository Settings 최적화하기
[GitHub 100일 챌린지] Day 20 - Repository Settings 최적화하기
100일 챌린지 Day 20 - Repository 설정을 프로페셔널하게 관리합니다
배울 내용
- General 설정 최적화
- Features와 Permissions 관리
- 보안 설정하기
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 라이센스를 따릅니다.
