왕초보를 위한 GitHub 입문 내 파일을 인터넷에 올리기까지
왕초보를 위한 GitHub 입문
내 파일을 인터넷에 올리기까지
프로그래밍을 몰라도 됩니다. 검은 화면(터미널)이 무서워도 됩니다. 이 문서는 "GitHub이 뭔지도 모르는 상태"에서 시작해, 내 폴더를 인터넷에 공개하고 웹사이트로 띄우는 것까지 한 번에 안내합니다.
1. GitHub이 대체 뭔가요
한 문장으로 말하면 "파일을 저장하고, 변경 이력을 남기고, 남과 공유하는 인터넷 창고"입니다.
구글 드라이브와 뭐가 다른가요?
구글 드라이브는 지금 상태를 보관합니다. GitHub은 지금까지의 모든 변화 과정을 보관합니다.
보고서를 쓰면서 최종.docx, 최종_수정.docx, 최종_진짜최종.docx 를 만들어본 적 있으시죠. GitHub을 쓰면 파일은 하나만 두고, "언제 무엇을 왜 바꿨는지"가 목록으로 남습니다. 3주 전 상태로 되돌리는 것도 클릭 몇 번입니다.
초보자가 GitHub을 쓰는 진짜 이유
- 공짜 웹사이트 — HTML 파일을 올리면 인터넷 주소가 생깁니다. 서버 비용 0원
- 백업 — 노트북이 고장 나도 파일이 살아 있습니다
- 공유 — 링크 하나로 남에게 전달. 메일 첨부 용량 제한 없음
- 포트폴리오 — "이런 걸 만들었습니다"의 증거가 됩니다
2. 딱 5개 용어만 알면 됩니다
GitHub 문서를 보면 낯선 영어가 쏟아지는데, 처음에는 아래 다섯 개면 충분합니다.
| 용어 | 뜻 | 비유 |
|---|---|---|
| Repository (리포지토리·저장소) |
프로젝트 하나가 들어가는 폴더. GitHub에서는 이게 기본 단위입니다 | 서류철 한 권 |
| Commit (커밋) |
"지금 이 상태를 기록해 둬"라고 도장을 찍는 행위. 메모를 함께 남깁니다 | 사진 찍어 앨범에 붙이기 |
| Push (푸시) |
내 컴퓨터의 기록을 인터넷(GitHub)으로 올려보내기 | 업로드 |
| Branch (브랜치) |
작업 갈래의 이름. 혼자 쓸 때는 main 하나만 있으면 됩니다 |
서류철 안의 칸막이 |
| Remote (리모트·원격) |
"내 파일을 어느 GitHub 주소로 보낼 것인가" 하는 목적지 설정 | 택배 받는 주소 |
딱 이 세 단계가 전부입니다. 나머지는 나중에 배워도 됩니다.
3. 준비물 두 가지
3-1. GitHub 계정
github.com/signup 에서 무료로 가입합니다. 메일 주소, 비밀번호, 사용자 이름(아이디)만 있으면 됩니다.
내아이디.github.io 형태로요. 남에게 보여줄 것을 생각해서 정하시는 게 좋습니다.
3-2. Git 프로그램 설치
git-scm.com/download/win 에서 내려받아 설치합니다. 설치 중 선택지가 여러 번 나오는데 전부 기본값(Next)으로 넘기시면 됩니다.
설치가 끝나면 PowerShell을 새로 열고 아래를 입력해 확인합니다.
git --version
git version 2.xx.x 같은 문구가 나오면 성공입니다.
3-3. 내가 누구인지 Git에게 알려주기 (최초 1회)
Git은 "누가 이 기록을 남겼는지" 이름표를 붙입니다. 처음 한 번만 설정하면 됩니다.
git config --global user.name "홍길동" git config --global user.email "hong@example.com"
따옴표 안의 내용을 본인 것으로 바꿔서 실행하세요. 이 정보는 커밋 기록에 남습니다.
4. 실전: 내 폴더를 GitHub에 올리기
이제 진짜로 해봅니다. 이미 컴퓨터에 있는 폴더를 GitHub에 올리는 방법입니다.
- Repository name — 영문 소문자와 하이픈으로. 예:
my-project - Public / Private — 웹사이트로 공개하려면 반드시 Public
- Add README / .gitignore / license — 전부 체크 해제
cd C:\내폴더\경로
cd 뒤에 붙여넣으세요.
dir
git init
.git 폴더를 만듭니다. 여기에 모든 변경 이력이 저장됩니다. 딱 한 번만 실행하면 됩니다.
git add .
git commit -m "첫 업로드"
3 files changed, 120 insertions(+) 같은 숫자가 나옵니다. 이게 보이면 기록이 남은 것입니다.
git branch -M main
master였고, 지금 GitHub은 main을 씁니다. 이 명령으로 이름을 맞춰줍니다. 이걸 빠뜨리면 업로드가 실패합니다.
git remote add origin https://github.com/내아이디/저장소이름.git
내아이디와 저장소이름을 본인 것으로 바꾸세요. 1단계에서 저장소를 만들고 나면 그 화면에 이 주소가 그대로 표시되어 있으니, 거기서 복사하는 게 가장 확실합니다.
git push -u origin main
* [new branch] main -> main 이 보이면 끝났습니다. GitHub 저장소 페이지를 새로고침하면 파일들이 올라와 있습니다.
5. 웹사이트로 공개하기 (GitHub Pages)
HTML 파일을 올렸다면, 클릭 몇 번으로 진짜 인터넷 주소를 만들 수 있습니다. 완전 무료입니다.
- Source →
Deploy from a branch - Branch →
None을main으로 변경, 옆은/ (root)그대로
https://내아이디.github.io/저장소이름/
index.html을 찾도록 약속되어 있습니다. 그래서 대표 파일 이름은 index.html로 두는 것이 좋습니다. 다른 파일은 .../manual.html 처럼 이름을 붙여 접속합니다.
6. 파일을 고친 뒤 다시 올리기
처음 설정만 복잡하지, 그다음부터는 세 줄이 전부입니다. 파일을 수정할 때마다 이것만 반복하세요.
git add . git commit -m "무엇을 바꿨는지 메모" git push
두 번째부터는 -u origin main 없이 git push만 쓰면 됩니다. 목적지를 이미 기억하고 있기 때문입니다.
지금 상태가 궁금할 때
git status
바뀐 파일이 뭔지, 커밋할 게 남았는지 알려줍니다. 막혔을 때 가장 먼저 쳐볼 명령입니다.
지금까지의 기록 보기
git log --oneline
커밋 목록이 한 줄씩 나옵니다. 화면이 멈춘 것처럼 보이면 q 키를 눌러 빠져나오세요.
7. 에러 사전 — 실제로 마주치는 것들
초보자가 거의 반드시 만나는 오류들입니다. 하나씩 원인과 해결책을 적어둡니다.
git add . → git commit -m "메모" → git branch -M main 을 먼저 실행한 뒤 다시 pushmaster입니다. GitHub은 main을 기대합니다.git branch -M main 실행 후 다시 pushgrep, ls, cat 같은 명령이 없습니다.grep → Select-String, ls → dir, cat → Get-Contentdir 로 파일이 실제로 있는지 확인하세요. 없으면 경로를 잘못 온 것입니다..ps1 스크립트 실행을 막고 있습니다.Set-ExecutionPolicy -Scope Process -Bypass 를 먼저 실행하세요. 이 창에서만 일시적으로 허용됩니다.PS C:\...> 프롬프트까지 함께 붙여넣었습니다.PS로 시작하는 부분과 +, ~~~~ 같은 에러 표시는 절대 붙여넣지 마세요.git pull origin main --allow-unrelated-histories 로 먼저 내려받은 뒤 다시 push8. 절대 하지 말아야 할 것
키가 들어갈 만한 것들
- API 키가 적힌
.env,config.json같은 설정 파일 - 소스코드 안에 직접 적어둔 비밀번호
- 키를 메모해둔
메모.txt
예방법 — .gitignore 파일
폴더에 .gitignore 라는 이름의 파일을 만들고 아래 내용을 적어두면, 해당 파일들은 절대 업로드되지 않습니다.
.env *.key secrets.* 메모.txt
① 해당 키를 발급처에서 즉시 폐기 → ② 새 키 발급 → ③ 그다음에 파일 정리
이력 삭제보다 키 폐기가 먼저입니다. 이미 복제됐을 수 있기 때문입니다.
개인정보와 저작권
- 실명, 연락처, 주소가 들어간 파일 — 커밋 이력에도 메일 주소가 남습니다
- 회사·기관의 대외비 자료 — 사규 확인이 먼저입니다
- 남의 코드나 이미지 — 라이선스를 확인하고 출처를 남기세요
9. 다음 단계
여기까지 하셨으면 기본은 끝났습니다. 더 알아보고 싶다면 이 순서를 권합니다.
| 주제 | 왜 필요한가 |
|---|---|
| README.md 작성 | 저장소 첫 화면에 표시되는 설명서. 마크다운 문법만 조금 익히면 됩니다 |
| GitHub Desktop | 명령어 없이 클릭으로 커밋·푸시하는 프로그램. 터미널이 부담스러우면 이쪽 |
| Issues | 할 일과 버그를 기록하는 게시판. 혼자 쓸 때도 유용합니다 |
| Branch | 실험적인 수정을 본체와 분리해서 해보는 기능. 협업할 때 필수 |
| Release | 버전별로 파일을 배포하고 다운로드 수를 집계 |
댓글
댓글 쓰기