깃허브는 개발자 전용 사이트가 아니라, 우리의 온라인 금고다
이제 옵시디언 안에 자료를 정리하는 기본기는 어느 정도 갖추었습니다. 폴더 구조도 만들었고, 마크다운으로 강의 노트와 프롬프트를 정리하는 방법도 익혔습니다. 그런데 여기서 중요한 질문이 하나 생깁니다.
"내 컴퓨터에만 있는 이 자료들, 정말 안전할까?"
노트북이 고장 날 수도 있습니다. 실수로 폴더를 삭제할 수도 있습니다. 강사 한 명이 만든 좋은 프롬프트를 다른 강사들이 참고하지 못한 채 개인 컴퓨터에만 묻어둘 수도 있습니다. 그래서 우리는 깃허브를 사용합니다.
깃허브를 처음 보면 개발자들의 검은 화면, 코드, 영어 메뉴가 떠올라 겁이 날 수 있습니다. 하지만 이 책에서 우리가 깃허브를 쓰는 목적은 소프트웨어 개발자가 되기 위해서가 아닙니다. 우리의 목적은 훨씬 단순합니다. 옵시디언에 쌓아 둔 강의 자료, AI 활용 사례, 프롬프트, 회의 기록, 운영 매뉴얼을 안전하게 백업하고, 필요한 사람과 나누며, 공개할 자료와 비공개 자료를 분리하는 것입니다.
쉽게 말해 깃허브는 "변경 기록이 남는 온라인 자료 창고"입니다. 일반 클라우드 폴더가 단순히 파일을 보관한다면, 깃허브 저장소는 누가, 언제, 무엇을 바꾸었는지까지 기록합니다. 이 기능 덕분에 나중에 실수를 되돌리거나, 여러 사람이 함께 자료를 다듬는 일이 훨씬 쉬워집니다.
게다가 GitHub Free 플랜은 개인과 소규모 팀이 시작하기에 충분합니다. 공식 요금 안내에 따르면 무료 플랜에서도 공개 저장소와 비공개 저장소를 무제한으로 만들 수 있습니다.1 물론 고급 권한 관리, 여러 명의 필수 리뷰어, 더 정교한 조직 관리가 필요해지면 유료 플랜을 검토해야 하지만, 우리 커뮤니티가 온보딩을 시작하고 자료 창고를 만드는 단계에서는 무료 계정만으로도 충분합니다.

오늘 만들 것은 두 가지다
이번 장에서는 깃허브를 처음 쓰는 사람도 따라 할 수 있도록, 회원가입부터 저장소 생성까지 천천히 진행합니다. 오늘의 목표는 복잡한 명령어를 외우는 것이 아닙니다. 아직 git push, commit, branch 같은 말이 익숙하지 않아도 괜찮습니다. GitHub 공식 입문 튜토리얼에서도 저장소 생성과 기본 흐름은 코딩 지식이나 명령어 없이 웹사이트에서 시작할 수 있다고 안내합니다.2
오늘 우리가 만들 것은 크게 두 가지입니다.
첫째, 개인 GitHub 계정입니다. 이 계정은 앞으로 내가 만든 자료를 올리고, 커뮤니티 저장소에 접근하고, 변경 이력을 남길 때 사용하는 신분증 같은 역할을 합니다.
둘째, 무료 저장소입니다. 저장소는 영어로 Repository, 줄여서 Repo라고 부릅니다. 어렵게 들리지만 "온라인 프로젝트 폴더"라고 생각하면 됩니다. 우리는 이 저장소를 두 종류로 나누어 만들 것입니다. 하나는 내부 자료를 보관할 Private 저장소이고, 다른 하나는 외부에 공개해도 되는 자료를 담을 Public 저장소입니다.
1단계: GitHub 무료 계정 만들기
먼저 웹브라우저에서 https://github.com에 접속합니다. 화면 오른쪽 위 또는 가운데에 보이는 Sign up 버튼을 누릅니다. GitHub 화면은 시기에 따라 조금씩 바뀔 수 있지만, 기본 흐름은 비슷합니다.
회원가입 과정에서는 보통 이메일 주소, 비밀번호, 사용자 이름을 입력합니다. 여기서 사용자 이름은 앞으로 GitHub 주소에 들어갑니다. 예를 들어 사용자 이름을 ai-teacher-kim으로 만들면, 내 GitHub 주소는 대략 github.com/ai-teacher-kim처럼 보입니다.
사용자 이름은 가능하면 다음 기준으로 정하는 것이 좋습니다.
너무 긴 이름보다 읽기 쉬운 이름
커뮤니티 안에서 누구인지 알아볼 수 있는 이름
공백 없이 영어 소문자, 숫자, 하이픈을 조합한 이름
개인 전화번호, 생년월일, 주민등록번호처럼 민감한 정보가 들어가지 않는 이름
예를 들어 ai-lesson-jiyoung, prompt-coach-min, edu-ai-lab-kim 같은 이름은 비교적 읽기 쉽고 목적도 드러납니다. 반대로 kim01012345678처럼 전화번호가 들어간 이름은 피해야 합니다.
비밀번호는 다른 서비스에서 쓰던 것을 재사용하지 마세요. 깃허브는 앞으로 우리 자료 창고의 열쇠가 됩니다. 이메일 계정과 깃허브 계정 비밀번호가 모두 허술하면, 비공개 저장소도 안전하다고 말하기 어렵습니다.
회원가입을 마치면 GitHub에서 이메일 인증을 요청합니다. 가입한 이메일함으로 가서 GitHub에서 보낸 인증 메일을 열고, 안내된 버튼을 눌러 인증을 완료합니다. 이메일 인증은 귀찮은 절차가 아니라 "이 계정이 정말 내 것인지 확인하는 문패 달기"라고 생각하면 됩니다.
2단계: 2단계 인증으로 계정 문을 한 번 더 잠그기
이제 계정 보안을 설정할 차례입니다. 가장 중요한 것은 2단계 인증, 즉 2FA입니다. 2FA는 비밀번호 외에 한 번 더 확인하는 보안 장치입니다. 집 현관문에 비밀번호 키패드가 있고, 안쪽에 보조 잠금장치가 하나 더 있는 것과 비슷합니다.
GitHub 문서에서도 무료 계정에 2단계 인증 관련 기능이 포함되어 있음을 확인할 수 있습니다.3 실제 설정 메뉴의 이름은 조금씩 바뀔 수 있지만, 일반적으로 다음 흐름으로 이동합니다.
GitHub 오른쪽 위 프로필 사진을 누른 뒤 Settings로 들어갑니다. 왼쪽 메뉴에서 Password and authentication 또는 이와 비슷한 보안 메뉴를 찾습니다. 그 안에서 Two-factor authentication을 선택하고 설정을 시작합니다.
2단계 인증 방식은 보통 인증 앱을 사용하는 방법이 가장 무난합니다. Google Authenticator, Microsoft Authenticator, 1Password, Authy 같은 앱을 휴대폰에 설치한 뒤, GitHub 화면에 나온 QR 코드를 스캔하면 6자리 숫자가 주기적으로 바뀝니다. 앞으로 로그인할 때 비밀번호를 입력한 뒤 이 숫자를 한 번 더 입력하게 됩니다.
설정 중간에 Recovery codes라는 복구 코드가 나옵니다. 이 코드는 휴대폰을 잃어버렸거나 인증 앱을 사용할 수 없을 때 계정에 다시 들어가기 위한 비상 열쇠입니다. 절대 GitHub 저장소 안에 저장하지 마세요. 출력해서 잠금장치가 있는 장소에 보관하거나, 신뢰할 수 있는 비밀번호 관리자에 저장하는 편이 좋습니다.
초보자들이 가장 많이 하는 실수는 복구 코드를 대충 넘기는 것입니다. 지금은 별것 아닌 것 같아도, 나중에 휴대폰을 바꾸고 인증 앱 이전을 깜빡하면 계정 접근이 막힐 수 있습니다. 2FA를 켜는 것만큼이나 복구 코드를 안전하게 보관하는 일이 중요합니다.
3단계: 표시 이름과 프로필 공개 범위 정리하기
계정을 만들었다면 프로필을 조금 정리해 둡니다. 프로필은 커뮤니티 안에서 "이 사람이 누구인지" 확인하는 명함 역할을 합니다. 너무 화려하게 꾸밀 필요는 없지만, 협업할 때 서로를 알아볼 수 있을 정도는 필요합니다.
프로필 사진을 누르고 Settings 또는 Your profile로 들어가면 표시 이름, 소개 문구, 회사나 조직, 위치, 웹사이트 등을 입력할 수 있습니다. 여기서 모든 정보를 공개할 필요는 없습니다. 특히 개인 주소, 개인 전화번호, 수강생 정보, 회사 내부 정보는 적지 않는 편이 좋습니다.
우리 커뮤니티에서는 다음 정도만 적어도 충분합니다.
표시 이름: 커뮤니티에서 부르는 이름 또는 강사명
한 줄 소개: "AI 활용 강의 자료를 정리합니다"처럼 역할이 드러나는 문장
웹사이트: 공개 포트폴리오나 블로그가 있다면 선택적으로 입력
프로필 공개 범위는 "신뢰 가능한 만큼만 공개"가 원칙입니다. GitHub는 외부에서도 볼 수 있는 공간입니다. Public 저장소에서 활동하면 내 사용자 이름과 일부 활동 내역이 보일 수 있습니다. 그러므로 처음부터 "무엇을 공개해도 되는가"를 의식하고 계정을 운영해야 합니다.
4단계: 커밋 이메일 노출 막기
깃허브에서는 파일을 수정하고 저장할 때 그 변경 기록을 남깁니다. 이 변경 기록을 커밋이라고 부릅니다. 커밋에는 누가 변경했는지 식별하기 위한 이름과 이메일 정보가 연결될 수 있습니다.
문제는 개인 이메일이 그대로 노출될 수 있다는 점입니다. 특히 Public 저장소에 자료를 올릴 경우, 개인 이메일을 공개하고 싶지 않은 사람도 있을 것입니다. 그래서 처음 계정을 만든 뒤 이메일 공개 설정을 확인하는 것이 좋습니다.
GitHub 오른쪽 위 프로필 사진을 누르고 Settings로 들어갑니다. 왼쪽 메뉴에서 Emails를 찾습니다. 이곳에서 다음과 비슷한 설정을 확인합니다.
내 이메일 주소가 무엇으로 등록되어 있는지
이메일을 공개 프로필에 보이게 할 것인지
커밋에 개인 이메일 대신 GitHub에서 제공하는 비공개용 이메일을 사용할 것인지
GitHub에는 개인 이메일을 숨기고 숫자+사용자이름@users.noreply.github.com 형태의 비공개 이메일을 커밋에 사용할 수 있는 기능이 있습니다. 메뉴 이름은 바뀔 수 있지만, 보통 Keep my email addresses private 또는 Block command line pushes that expose my email 같은 문구를 확인할 수 있습니다.
우리 커뮤니티에서는 특별한 이유가 없다면 개인 이메일 노출을 막는 쪽을 기본값으로 권장합니다. 특히 강사 개인 브랜드를 운영하는 이메일과 커뮤니티 자료 관리 이메일을 분리하고 싶다면 이 설정은 꼭 확인해야 합니다.
5단계: 저장소가 무엇인지 감 잡기
이제 저장소를 만들 차례입니다. 저장소는 GitHub에서 가장 중요한 단위입니다. GitHub 공식 블로그에서는 저장소를 프로젝트 파일이 머무는 공간이자 변경 기록과 협업을 가능하게 하는 기본 요소로 설명합니다.4
우리 식으로 바꿔 말하면 저장소는 "목적이 있는 온라인 자료 상자"입니다. 예를 들어 AI 강의 교안 저장소, 공개 샘플 노트 저장소, 내부 회의록 저장소를 각각 따로 만들 수 있습니다. 한 저장소 안에는 파일과 폴더가 들어가고, 그 파일들이 시간이 지나며 어떻게 바뀌었는지 기록됩니다.
옵시디언 볼트와 비교하면 이해가 쉽습니다. 옵시디언 볼트는 내 컴퓨터 안의 지식 창고입니다. 깃허브 저장소는 그 지식 창고를 온라인에 올려 백업하고 공유할 수 있게 해 주는 공간입니다. 앞으로 우리는 옵시디언 볼트 전체 또는 일부를 GitHub 저장소와 연결하게 됩니다. 이번 장에서는 그 전에 먼저 GitHub 웹사이트에서 저장소를 직접 만들어 보겠습니다.
6단계: Public과 Private을 먼저 결정하기
저장소를 만들 때 가장 중요한 선택은 Public과 Private입니다. 이 선택은 자료의 운명을 결정합니다.
Public 저장소는 누구나 볼 수 있는 공개 창고입니다. 링크를 아는 사람만 볼 수 있는 정도가 아니라, 기본적으로 인터넷에 공개된 공간이라고 생각해야 합니다. 검색에 노출될 수도 있고, 다른 사람이 내용을 볼 수도 있습니다.
Private 저장소는 초대받은 사람만 볼 수 있는 비공개 창고입니다. 내부 강의 자료, 회의 기록, 아직 공개하지 않은 프롬프트, 커뮤니티 운영 문서처럼 외부에 공개하면 곤란한 자료를 담기에 적합합니다. GitHub 문서 역시 Public 저장소는 인터넷의 누구나 접근 가능하고, Private 저장소는 소유자와 권한을 받은 사람만 접근할 수 있다고 설명합니다.5
우리 커뮤니티에서는 다음 기준으로 나누면 쉽습니다.
| 구분 | 권장 저장소 | 예시 자료 |
|---|---|---|
| 외부에 공개해도 되는 자료 | Public | 샘플 프롬프트, 공개 강의 안내문, 배포용 체크리스트, 공개 가능한 템플릿 |
| 커뮤니티 내부에서만 볼 자료 | Private | 내부 회의록, 강의 운영 노하우, 미공개 커리큘럼, 유료 강의 교안 초안 |
| 저장하면 안 되는 자료 | GitHub에 저장하지 않음 | 수강생 개인정보, 비밀번호, API 키, 계약서 원본, 민감한 정산 자료 |
여기서 중요한 점이 있습니다. Private 저장소라고 해서 모든 것을 넣어도 되는 것은 아닙니다. 비공개 저장소는 공개 저장소보다 접근이 제한될 뿐, 민감정보 보관 전용 금고는 아닙니다. 수강생 개인정보, 주민등록번호, 전화번호 목록, 결제 정보, 계약서 원본, API 키, 서비스 비밀번호는 Public은 물론 Private 저장소에도 함부로 올리지 않는 원칙을 세워야 합니다.
7단계: 첫 번째 Private 저장소 만들기
이제 실제로 저장소를 만들어 보겠습니다. 먼저 내부 자료를 담을 Private 저장소를 만듭니다.
GitHub에 로그인한 상태에서 화면 오른쪽 위의 + 버튼을 찾습니다. 이 버튼을 누르면 New repository라는 메뉴가 보입니다. 또는 주소창에 https://github.com/new를 입력해도 새 저장소 생성 화면으로 이동할 수 있습니다.
새 저장소 화면에는 여러 입력칸이 나옵니다. 낯선 영어가 보이더라도 겁먹지 말고 하나씩 채우면 됩니다.
Repository name에는 저장소 이름을 입력합니다. 저장소 이름은 나중에 주소가 되므로 한글보다 영어 소문자와 하이픈을 권장합니다. 공백은 쓰지 않는 편이 좋습니다. 우리 커뮤니티의 내부 저장소라면 다음과 같은 이름을 사용할 수 있습니다.
ai-instructor-private-vaultai-coach-internal-notescommunity-private-knowledge
이름을 지을 때는 "누구의, 어떤 용도의, 공개 범위가 무엇인지" 드러나면 좋습니다. test, new, my-folder처럼 의미가 모호한 이름은 나중에 저장소가 늘어났을 때 큰 혼란을 만듭니다.
Description에는 한 줄 설명을 적습니다. 예를 들어 AI 활용 강사 커뮤니티의 내부 강의 자료와 회의 기록을 보관하는 비공개 저장소입니다.라고 적을 수 있습니다. 설명은 선택 사항이지만, 초보자일수록 반드시 적어 두는 편이 좋습니다. 3개월 뒤의 나는 오늘의 나보다 이 저장소의 목적을 더 잘 기억하지 못할 가능성이 높기 때문입니다.
그다음 Private을 선택합니다. 이 선택이 내부 자료 저장소의 핵심입니다.
아래쪽에는 Add a README file 옵션이 있습니다. 이 옵션은 꼭 체크하세요. README.md는 저장소 첫 화면에 보이는 사용 설명서입니다. GitHub 입문 자료에서도 README는 프로젝트의 목적, 사용법, 도움을 받을 위치 등을 알려 주는 첫 안내문 역할을 한다고 설명합니다.6
.gitignore와 license는 이번 단계에서는 선택하지 않아도 됩니다. 나중에 코드 프로젝트를 다루거나 공개 배포 자료를 만들 때 다시 설명하겠습니다. 지금 우리의 목표는 안전한 자료 창고를 만드는 것입니다.
마지막으로 Create repository 버튼을 누릅니다. 그러면 첫 번째 Private 저장소가 만들어집니다.
축하합니다. 방금 여러분은 커뮤니티의 내부 지식 금고 하나를 만든 것입니다.
8단계: 두 번째 Public 저장소 만들기
이제 공개용 저장소도 하나 만들어 봅니다. 과정은 거의 같습니다. 다시 오른쪽 위 + 버튼을 누르고 New repository를 선택합니다.
이번에는 Repository name에 공개용 이름을 입력합니다. 예를 들어 다음과 같이 지을 수 있습니다.
ai-class-public-notesai-instructor-open-resourcesprompt-workshop-sample-notes
Description에는 외부 공유용 AI 강의 샘플 노트와 공개 자료를 모아 두는 저장소입니다.처럼 적습니다.
이번에는 Public을 선택합니다. Public을 선택하는 순간 이 저장소는 공개 자료 전용이어야 합니다. 내부 회의록, 유료 강의 교안 원본, 수강생 사례, 민감한 프롬프트 전략은 이곳에 올리지 않습니다.
Public 저장소에도 Add a README file을 체크합니다. 공개 저장소의 README는 외부 방문자에게 보여 주는 안내 데스크입니다. 누군가 저장소에 들어왔을 때 "여기는 무엇을 하는 곳이고, 어떤 자료를 봐야 하며, 어디까지 사용해도 되는가"를 바로 이해할 수 있어야 합니다.
공개 저장소에서 라이선스는 중요한 주제입니다. 다른 사람이 자료를 어디까지 사용할 수 있는지 정해야 하기 때문입니다. 다만 라이선스는 법적 의미가 있으므로, 잘 모르겠다면 처음에는 선택하지 않고 커뮤니티 내부에서 공개 정책을 정한 뒤 추가해도 됩니다. 공개 템플릿이나 샘플 자료를 널리 쓰게 하고 싶다면 나중에 MIT, Creative Commons 등 적절한 라이선스를 검토할 수 있습니다.
설정을 마쳤다면 Create repository를 누릅니다. 이제 우리에게는 내부용 Private 저장소와 외부용 Public 저장소가 각각 하나씩 생겼습니다.
저장소 이름은 운영의 절반이다
저장소 이름은 단순한 파일명처럼 보이지만, 실제로는 운영 규칙의 첫 문장입니다. 이름만 보고도 "이 저장소에 무엇을 넣어야 하는지" 판단할 수 있어야 합니다.
초보 커뮤니티에서 자주 생기는 문제는 저장소 이름이 너무 추상적이라는 것입니다. 예를 들어 obsidian, data, class, final 같은 이름은 처음에는 괜찮아 보이지만, 저장소가 5개만 넘어가도 헷갈리기 시작합니다.
좋은 이름에는 보통 세 가지 정보가 들어갑니다.
커뮤니티나 팀의 정체성
자료의 용도
공개 범위 또는 상태
예를 들어 ai-instructor-private-vault는 AI 강사 커뮤니티의 비공개 지식 창고라는 뜻이 비교적 분명합니다. ai-class-public-notes는 AI 강의와 관련된 공개 노트라는 뜻이 드러납니다.
저장소 이름에 private, public, internal, open, sample, archive 같은 단어를 붙이면 실수를 줄일 수 있습니다. 특히 비전공자 커뮤니티에서는 "이건 공개해도 되는 저장소인가?"라는 판단을 매번 머릿속으로 하지 않아도 되게 만드는 장치가 필요합니다.
README.md는 저장소의 안내문이다
저장소를 만들 때 README를 추가했다면, 저장소 첫 화면에 README.md 파일이 보일 것입니다. 이 파일은 단순한 메모가 아닙니다. 저장소에 들어온 사람이 가장 먼저 읽는 안내문입니다.
README가 없는 저장소는 문패 없는 사무실과 같습니다. 문은 열려 있는데 여기가 회의실인지 창고인지 강의장인지 알 수 없습니다. 반대로 README가 잘 쓰인 저장소는 처음 온 사람도 길을 잃지 않습니다.
Private 저장소의 README에는 내부 구성원이 지켜야 할 원칙을 적습니다. Public 저장소의 README에는 외부 방문자가 자료를 어떻게 이해하고 사용해야 하는지 적습니다.
초보자용 README에는 다음 내용이 들어가면 좋습니다.
저장소의 목적
포함되는 자료의 범위
포함하면 안 되는 자료의 범위
폴더 사용법
파일 이름 규칙
자료 작성 규칙
접근 권한과 문의 담당자
아래는 우리 커뮤니티가 바로 복사해서 고쳐 쓸 수 있는 Private 저장소용 README 예시입니다.
# AI 강사 커뮤니티 내부 지식 저장소
이 저장소는 AI 활용 강사 커뮤니티의 내부 자료를 안전하게 정리하고 공유하기 위한 비공개 저장소입니다.
## 이 저장소에 넣는 자료
- 내부 강의 교안 초안
- 커뮤니티 회의 기록
- 강사별 실험 프롬프트
- 수업 운영 체크리스트
- 공개 전 아이디어와 인사이트
## 이 저장소에 넣지 않는 자료
- 수강생 개인정보
- 비밀번호와 API 키
- 계약서 원본
- 대용량 강의 녹화 영상
- 외부에 공개하면 안 되는 제3자 저작물
## 기본 작성 규칙
파일 이름은 날짜와 주제가 드러나게 작성합니다.
예: 2026-05-06_챗봇수업_운영메모.md
자료를 수정할 때는 왜 수정했는지 짧게 설명합니다.
중요한 자료를 삭제하기 전에는 커뮤니티 운영자에게 먼저 확인합니다.
## 문의 담당자
저장소 운영 문의: 홍길동
자료 분류 문의: 김영희Public 저장소라면 문장이 조금 달라져야 합니다. 공개 저장소는 외부인이 볼 수 있으므로 내부 사정을 길게 적기보다, 공개 자료의 목적과 사용 범위를 분명히 안내해야 합니다.
# AI 강의 공개 샘플 노트
이 저장소는 AI 활용 강의에 관심 있는 분들을 위해 공개 가능한 샘플 노트와 실습 자료를 제공하는 공간입니다.
## 포함된 자료
- 공개 강의용 샘플 프롬프트
- 입문자를 위한 실습 안내문
- 배포 가능한 체크리스트
- 공개 발표 자료의 보조 노트
## 포함되지 않는 자료
이 저장소에는 커뮤니티 내부 회의록, 유료 강의 교안 원본, 수강생 개인정보, 비공개 프롬프트 전략을 포함하지 않습니다.
## 사용 안내
자료를 사용할 때는 출처를 표시해 주세요.
상업적 활용이나 재배포 조건은 저장소의 라이선스 정책을 따릅니다.
문의는 Issues 또는 커뮤니티 공식 연락처를 이용해 주세요.README는 한 번 쓰고 끝나는 문서가 아닙니다. 커뮤니티 운영 방식이 바뀌면 README도 함께 바뀌어야 합니다. 저장소의 실제 사용법과 README가 달라지는 순간, 초보자는 어디에 맞춰야 할지 혼란스러워집니다.
웹에서 README 수정해 보기
GitHub 웹사이트에서 README를 바로 수정할 수 있습니다. 저장소 화면에서 README.md 파일을 클릭합니다. 오른쪽 위에 연필 모양 아이콘이 보이면 그것을 누릅니다. 그러면 웹브라우저 안에서 문서를 편집할 수 있습니다.
내용을 수정한 뒤 아래로 내려가면 변경 내용을 설명하는 칸이 나옵니다. 여기에 짧은 메시지를 적습니다. 예를 들어 README에 저장소 사용 원칙 추가라고 쓰면 됩니다. 그다음 Commit changes 버튼을 누릅니다.
여기서 커밋이라는 단어가 처음 등장합니다. 커밋은 "변경 내용을 저장소의 역사에 남기는 것"입니다. 일반 문서 편집에서 저장 버튼을 누르는 것과 비슷하지만, GitHub의 커밋은 저장과 동시에 변경 이유까지 기록합니다.
앞으로 커밋 메시지는 너무 거창하게 쓰지 않아도 됩니다. 다만 나중에 봤을 때 무엇을 바꿨는지 알 수 있어야 합니다.
좋은 커밋 메시지는 이런 식입니다.
README에 접근 권한 원칙 추가공개 자료 사용 안내 수정내부 자료 금지 항목 추가
반대로 수정, 업데이트, asdf, 최종진짜최종 같은 메시지는 피하는 것이 좋습니다. 당장은 편해도 나중에 변경 기록을 찾을 때 아무 도움이 되지 않습니다.
무료 티어를 안전하게 쓰는 원칙
GitHub Free는 시작하기에 충분하지만, 무료라고 해서 아무 파일이나 무한히 올려도 된다는 뜻은 아닙니다. GitHub는 코드와 문서 중심의 협업 플랫폼입니다. 우리의 옵시디언 노트처럼 가벼운 마크다운 파일을 관리하기에는 적합하지만, 대용량 영상 저장소로 쓰기에는 적합하지 않습니다.
따라서 커뮤니티 운영 초기에 다음 원칙을 정해 두어야 합니다.
첫째, 대용량 영상 파일을 직접 올리지 않습니다. 강의 녹화본, 긴 화면 녹화, 압축 파일, 고해상도 원본 이미지는 GitHub 저장소에 넣지 않는 편이 좋습니다. 이런 파일은 별도의 클라우드 스토리지나 영상 플랫폼을 사용하고, GitHub에는 링크와 설명만 남깁니다.
둘째, 비밀번호와 API 키를 저장하지 않습니다. API 키는 AI 서비스나 외부 도구에 접속할 수 있는 비밀 열쇠입니다. 이 값이 유출되면 비용이 발생하거나 계정이 악용될 수 있습니다. openai_api_key.txt, .env, password.md 같은 파일은 저장소에 올리지 않습니다.
셋째, 개인정보를 저장하지 않습니다. 수강생 이름, 전화번호, 이메일, 결제 여부, 상담 내용, 민감한 학습 이력은 GitHub에 올릴 자료가 아닙니다. 필요하다면 개인정보 관리 기준을 갖춘 별도 시스템에서 다루어야 합니다.
넷째, Public 저장소에는 "이미 공개해도 된다고 합의한 자료"만 올립니다. 공개 여부가 애매하면 Public에 올리지 않습니다. 애매한 자료는 일단 Private에 두고, 운영진 검토 후 공개용으로 다듬어 별도 Public 저장소에 옮깁니다.
다섯째, Private 저장소도 최소 권한 원칙을 적용합니다. 모든 구성원이 모든 내부 자료를 볼 필요는 없을 수 있습니다. 초기에는 단순하게 시작하되, 커뮤니티 규모가 커지면 저장소를 역할별로 나누거나 조직 계정과 유료 플랜을 검토해야 합니다.
언제 유료 플랜을 검토해야 할까
처음부터 유료 플랜으로 시작할 필요는 없습니다. GitHub Free는 무제한 공개·비공개 저장소, 이슈와 프로젝트, 커뮤니티 지원 등 기본 기능을 제공합니다.7 우리처럼 옵시디언 자료를 백업하고, 소규모 커뮤니티 자료를 정리하고, 일부 자료를 공개하는 목적이라면 무료 플랜으로 충분히 출발할 수 있습니다.
다만 다음 상황이 반복되기 시작하면 유료 플랜을 검토할 때입니다.
특정 자료는 반드시 운영자 승인을 거친 뒤 반영되게 하고 싶다
여러 명의 리뷰어를 지정해 검토 절차를 체계화하고 싶다
팀별 권한과 저장소 규칙을 더 세밀하게 관리하고 싶다
비공개 저장소의 프로젝트 관리, 위키, 고급 인사이트 기능이 필요하다
커뮤니티가 커져서 개인 계정 중심 운영이 불안해졌다
GitHub Team 플랜은 Free 기능에 더해 다중 리뷰어, 코드 소유자, 보호된 브랜치, 웹 기반 지원 등 고급 협업 기능을 제공합니다.8 여기서 중요한 것은 "유료가 더 좋으니 빨리 결제하자"가 아닙니다. 무료로 운영하면서 실제 불편이 무엇인지 확인한 뒤, 필요한 기능이 분명해졌을 때 업그레이드하는 것이 현명합니다.
오늘의 실습: 내부 금고 하나, 공개 진열대 하나
이 장을 읽고 끝내지 말고, 바로 두 개의 저장소를 만들어 봅시다. 하나는 내부 금고이고, 하나는 공개 진열대입니다.
먼저 Private 저장소를 만듭니다. 이름은 ai-instructor-private-vault처럼 내부용임이 드러나게 정합니다. 설명에는 내부 강의 자료와 회의 기록을 보관하는 공간이라고 적습니다. README를 추가하고, 저장소에 넣을 자료와 넣지 않을 자료를 적습니다.
그다음 Public 저장소를 만듭니다. 이름은 ai-class-public-notes처럼 공개용임이 드러나게 정합니다. 설명에는 외부 공유용 샘플 노트와 안내 자료를 모으는 공간이라고 적습니다. README에는 공개 자료의 목적, 사용 안내, 문의 방법을 적습니다.
마지막으로 두 저장소의 첫 화면을 나란히 열어 보세요. Private 저장소에는 자물쇠 느낌의 비공개 표시가 보이고, Public 저장소에는 공개 표시가 보일 것입니다. 이 차이를 눈으로 확인하는 것이 중요합니다. "자료를 어디에 넣을 것인가"를 판단하는 감각은 이 순간부터 자라납니다.
초보자가 자주 묻는 질문
Q. Private 저장소에 올리면 정말 아무도 못 보나요?
초대받은 사람만 볼 수 있는 것이 기본입니다. 하지만 계정이 탈취되거나, 권한을 잘못 부여하거나, 누군가 내용을 복사해 외부로 옮기면 유출될 수 있습니다. 그래서 Private 저장소에도 민감정보는 넣지 않는 것이 원칙입니다.
Q. Public으로 만들었다가 나중에 Private으로 바꿀 수 있나요?
저장소 설정에서 공개 범위를 바꿀 수 있습니다. 하지만 이미 Public 상태에서 누군가 봤거나 복사했다면 되돌릴 수 없습니다. 그러므로 처음부터 공개 여부를 신중하게 정해야 합니다.
Q. 저장소 이름을 나중에 바꿀 수 있나요?
바꿀 수 있습니다. 다만 저장소 주소가 달라지므로, 다른 사람이 이미 링크를 사용하고 있다면 혼란이 생길 수 있습니다. 처음부터 목적이 드러나는 이름을 쓰는 편이 좋습니다.
Q. README는 꼭 써야 하나요?
꼭 쓰는 것을 권장합니다. README가 없으면 초보자는 저장소에 무엇을 넣어야 하는지 알기 어렵습니다. 특히 커뮤니티 저장소에서는 README가 운영 규칙의 출발점입니다.
Q. 아직 옵시디언과 연결하지 않았는데 괜찮나요?
괜찮습니다. 이번 장의 목표는 GitHub 계정과 저장소를 준비하는 것입니다. 다음 장부터 GitHub Desktop을 이용해 명령어 없이 내 컴퓨터의 옵시디언 볼트와 GitHub 저장소를 연결해 보겠습니다.
다음 장으로 가기 전에 확인할 것
이번 장에서 우리는 GitHub 계정을 만들고, 보안 설정을 확인하고, Public 저장소와 Private 저장소를 각각 만들어 보았습니다. 이제 깃허브는 더 이상 개발자들만 쓰는 낯선 사이트가 아닙니다. 우리 커뮤니티의 지식 창고를 온라인에 안전하게 세우기 위한 첫 번째 기반입니다.
다음 장에서는 GitHub Desktop을 설치하고, 명령어 없이 클릭만으로 내 컴퓨터의 자료를 GitHub에 백업하는 방법을 배웁니다. 검은 터미널 화면은 잠시 잊어도 됩니다. 우리는 비전공자도 따라올 수 있는 길로 갈 것입니다.
참고
4Beginner's guide to GitHub repositories: How to create your first repo
5GitHub Private Repository: Managing Private Repositories
6Beginner's guide to GitHub repositories: How to create your first repo
이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.
