왕초보를 위한 GitHub 입문 내 파일을 인터넷에 올리기까지

 

GITHUB FOR ABSOLUTE BEGINNERS

왕초보를 위한 GitHub 입문
내 파일을 인터넷에 올리기까지

프로그래밍을 몰라도 됩니다. 검은 화면(터미널)이 무서워도 됩니다. 이 문서는 "GitHub이 뭔지도 모르는 상태"에서 시작해, 내 폴더를 인터넷에 공개하고 웹사이트로 띄우는 것까지 한 번에 안내합니다.

1. GitHub이 대체 뭔가요

한 문장으로 말하면 "파일을 저장하고, 변경 이력을 남기고, 남과 공유하는 인터넷 창고"입니다.

구글 드라이브와 뭐가 다른가요?

구글 드라이브는 지금 상태를 보관합니다. GitHub은 지금까지의 모든 변화 과정을 보관합니다.

보고서를 쓰면서 최종.docx, 최종_수정.docx, 최종_진짜최종.docx 를 만들어본 적 있으시죠. GitHub을 쓰면 파일은 하나만 두고, "언제 무엇을 왜 바꿨는지"가 목록으로 남습니다. 3주 전 상태로 되돌리는 것도 클릭 몇 번입니다.

초보자가 GitHub을 쓰는 진짜 이유

  • 공짜 웹사이트 — HTML 파일을 올리면 인터넷 주소가 생깁니다. 서버 비용 0원
  • 백업 — 노트북이 고장 나도 파일이 살아 있습니다
  • 공유 — 링크 하나로 남에게 전달. 메일 첨부 용량 제한 없음
  • 포트폴리오 — "이런 걸 만들었습니다"의 증거가 됩니다
Git과 GitHub은 다릅니다 Git은 내 컴퓨터에 설치하는 프로그램(변경 이력을 기록하는 도구)이고, GitHub은 그 기록을 인터넷에 보관해주는 웹사이트입니다. 카메라(Git)와 인스타그램(GitHub)의 관계라고 생각하시면 됩니다.

2. 딱 5개 용어만 알면 됩니다

GitHub 문서를 보면 낯선 영어가 쏟아지는데, 처음에는 아래 다섯 개면 충분합니다.

용어비유
Repository
(리포지토리·저장소)
프로젝트 하나가 들어가는 폴더. GitHub에서는 이게 기본 단위입니다 서류철 한 권
Commit
(커밋)
"지금 이 상태를 기록해 둬"라고 도장을 찍는 행위. 메모를 함께 남깁니다 사진 찍어 앨범에 붙이기
Push
(푸시)
내 컴퓨터의 기록을 인터넷(GitHub)으로 올려보내기 업로드
Branch
(브랜치)
작업 갈래의 이름. 혼자 쓸 때는 main 하나만 있으면 됩니다 서류철 안의 칸막이
Remote
(리모트·원격)
"내 파일을 어느 GitHub 주소로 보낼 것인가" 하는 목적지 설정 택배 받는 주소
전체 흐름은 이렇습니다 내 폴더에서 파일 작업 → Commit(기록 도장) → Push(인터넷으로 전송) → 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 같은 문구가 나오면 성공입니다.

"인식되지 않습니다"라고 나온다면 설치 전에 열어둔 PowerShell 창을 쓰고 있어서 그렇습니다. 창을 완전히 닫고 새로 여세요. 그래도 안 되면 컴퓨터를 재시작하세요.

3-3. 내가 누구인지 Git에게 알려주기 (최초 1회)

Git은 "누가 이 기록을 남겼는지" 이름표를 붙입니다. 처음 한 번만 설정하면 됩니다.

git config --global user.name "홍길동"
git config --global user.email "hong@example.com"

따옴표 안의 내용을 본인 것으로 바꿔서 실행하세요. 이 정보는 커밋 기록에 남습니다.

4. 실전: 내 폴더를 GitHub에 올리기

이제 진짜로 해봅니다. 이미 컴퓨터에 있는 폴더를 GitHub에 올리는 방법입니다.

1
GitHub에서 빈 저장소 만들기 github.com/new 에 접속합니다.
  • Repository name — 영문 소문자와 하이픈으로. 예: my-project
  • Public / Private — 웹사이트로 공개하려면 반드시 Public
  • Add README / .gitignore / license전부 체크 해제
왜 README를 체크하면 안 되나요? GitHub이 파일을 하나 만들어버려서, 내 컴퓨터 폴더와 내용이 어긋납니다. 그러면 업로드할 때 충돌이 납니다. 빈 저장소로 만드는 게 가장 깔끔합니다.
아래 Create repository를 누릅니다.
2
PowerShell에서 내 폴더로 이동 시작 메뉴에서 PowerShell을 검색해 실행한 뒤, 올리려는 폴더 경로를 입력합니다.
cd C:\내폴더\경로
경로를 모르겠다면 파일 탐색기에서 그 폴더를 연 뒤, 위쪽 주소창을 클릭하면 경로가 글자로 바뀝니다. 그걸 복사해서 cd 뒤에 붙여넣으세요.
이동했으면 파일 목록을 확인합니다.
dir
3
이 폴더를 Git이 관리하도록 시작
git init
이 명령은 폴더 안에 눈에 안 보이는 .git 폴더를 만듭니다. 여기에 모든 변경 이력이 저장됩니다. 딱 한 번만 실행하면 됩니다.
4
올릴 파일 담기
git add .
맨 뒤의 점(.)은 "이 폴더의 모든 파일"이라는 뜻입니다. 점을 빠뜨리면 동작하지 않으니 주의하세요.
5
기록 도장 찍기 (커밋)
git commit -m "첫 업로드"
따옴표 안은 이번에 무엇을 했는지 적는 메모입니다. 나중에 이력을 볼 때 본인이 알아볼 수 있게 쓰면 됩니다. 한글도 됩니다.
성공했다면 3 files changed, 120 insertions(+) 같은 숫자가 나옵니다. 이게 보이면 기록이 남은 것입니다.
6
브랜치 이름을 main으로
git branch -M main
예전 Git은 기본 이름이 master였고, 지금 GitHub은 main을 씁니다. 이 명령으로 이름을 맞춰줍니다. 이걸 빠뜨리면 업로드가 실패합니다.
7
보낼 주소 지정
git remote add origin https://github.com/내아이디/저장소이름.git
내아이디저장소이름을 본인 것으로 바꾸세요. 1단계에서 저장소를 만들고 나면 그 화면에 이 주소가 그대로 표시되어 있으니, 거기서 복사하는 게 가장 확실합니다.
8
업로드!
git push -u origin main
브라우저에 GitHub 로그인 창이 뜬다면 로그인하여 인가를 완료합니다.
성공 메시지 * [new branch] main -> main 이 보이면 끝났습니다. GitHub 저장소 페이지를 새로고침하면 파일들이 올라와 있습니다.

5. 웹사이트로 공개하기 (GitHub Pages)

HTML 파일을 올렸다면, 클릭 몇 번으로 진짜 인터넷 주소를 만들 수 있습니다. 완전 무료입니다.

1
Settings로 이동 저장소 페이지 위쪽 탭 중 맨 오른쪽 Settings(톱니바퀴)를 클릭합니다.
2
왼쪽 메뉴에서 Pages 찾기 왼쪽 사이드바를 아래로 스크롤하면 Code and automation 그룹 안에 Pages가 있습니다.
3
설정 두 가지
  • SourceDeploy from a branch
  • BranchNonemain으로 변경, 옆은 / (root) 그대로
Save를 누릅니다.
4
2~3분 기다린 뒤 접속
https://내아이디.github.io/저장소이름/
첫 배포는 시간이 좀 걸립니다. 404가 뜨면 1~2분 더 기다렸다 새로고침하세요.
왜 index.html이 자동으로 열리나요? 웹 서버는 주소 끝에 파일명이 없으면 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. 에러 사전 — 실제로 마주치는 것들

초보자가 거의 반드시 만나는 오류들입니다. 하나씩 원인과 해결책을 적어둡니다.

error: src refspec main does not match any
원인 — 커밋을 한 번도 안 한 상태에서 업로드를 시도했습니다. 보낼 기록 자체가 없다는 뜻입니다.
해결 — git add .git commit -m "메모"git branch -M main 을 먼저 실행한 뒤 다시 push
On branch master / nothing to commit
원인 — 커밋은 됐는데 브랜치 이름이 master입니다. GitHub은 main을 기대합니다.
해결 — git branch -M main 실행 후 다시 push
'grep' 용어가 cmdlet, 함수, 스크립트 파일... 인식되지 않습니다
원인 — 인터넷에서 찾은 명령어가 Mac/Linux용입니다. Windows PowerShell에는 grep, ls, cat 같은 명령이 없습니다.
해결 — PowerShell 대응 명령을 쓰세요. grepSelect-String, lsdir, catGet-Content
'.\스크립트.ps1' 용어가... 인식되지 않습니다
원인 — 그 파일이 현재 폴더에 없습니다. 이름이 틀렸거나 다른 폴더에 있습니다.
해결 — dir 로 파일이 실제로 있는지 확인하세요. 없으면 경로를 잘못 온 것입니다.
이 시스템에서 스크립트를 실행할 수 없으므로...
원인 — Windows가 보안상 .ps1 스크립트 실행을 막고 있습니다.
해결 — Set-ExecutionPolicy -Scope Process -Bypass 를 먼저 실행하세요. 이 창에서만 일시적으로 허용됩니다.
Get-Process : 'cd' 인수를 허용하는 위치 매개 변수를 찾을 수 없습니다
원인 — 명령어를 복사할 때 앞의 PS C:\...> 프롬프트까지 함께 붙여넣었습니다.
해결 — 명령어만 복사하세요. PS로 시작하는 부분과 +, ~~~~ 같은 에러 표시는 절대 붙여넣지 마세요.
가장 흔한 초보 실수 에러 메시지가 나왔을 때, 그 에러 메시지를 다시 터미널에 붙여넣는 것입니다. 그러면 에러가 눈덩이처럼 불어나 원인을 찾기 어려워집니다. 에러가 나면 붙여넣기를 멈추고, 첫 두 줄만 읽으세요. 거기에 원인이 있습니다.
Updates were rejected because the remote contains work that you do not have locally
원인 — GitHub에 내 컴퓨터에는 없는 파일이 있습니다. 저장소를 만들 때 README를 체크했을 때 주로 발생합니다.
해결 — git pull origin main --allow-unrelated-histories 로 먼저 내려받은 뒤 다시 push

8. 절대 하지 말아야 할 것

비밀번호와 API 키를 올리지 마세요 Public 저장소는 전 세계에서 볼 수 있습니다. 그리고 자동으로 키를 수집하는 프로그램이 돌아다닙니다. 실수로 올렸다가 요금 폭탄을 맞는 사례가 매년 나옵니다.

키가 들어갈 만한 것들

  • API 키가 적힌 .env, config.json 같은 설정 파일
  • 소스코드 안에 직접 적어둔 비밀번호
  • 키를 메모해둔 메모.txt

예방법 — .gitignore 파일

폴더에 .gitignore 라는 이름의 파일을 만들고 아래 내용을 적어두면, 해당 파일들은 절대 업로드되지 않습니다.

.env
*.key
secrets.*
메모.txt
이미 올려버렸다면 파일을 지우고 다시 커밋해도 과거 이력에는 그대로 남습니다. 그러니 순서는 이렇습니다.
① 해당 키를 발급처에서 즉시 폐기 → ② 새 키 발급 → ③ 그다음에 파일 정리
이력 삭제보다 키 폐기가 먼저입니다. 이미 복제됐을 수 있기 때문입니다.

개인정보와 저작권

  • 실명, 연락처, 주소가 들어간 파일 — 커밋 이력에도 메일 주소가 남습니다
  • 회사·기관의 대외비 자료 — 사규 확인이 먼저입니다
  • 남의 코드나 이미지 — 라이선스를 확인하고 출처를 남기세요

9. 다음 단계

여기까지 하셨으면 기본은 끝났습니다. 더 알아보고 싶다면 이 순서를 권합니다.

주제왜 필요한가
README.md 작성저장소 첫 화면에 표시되는 설명서. 마크다운 문법만 조금 익히면 됩니다
GitHub Desktop명령어 없이 클릭으로 커밋·푸시하는 프로그램. 터미널이 부담스러우면 이쪽
Issues할 일과 버그를 기록하는 게시판. 혼자 쓸 때도 유용합니다
Branch실험적인 수정을 본체와 분리해서 해보는 기능. 협업할 때 필수
Release버전별로 파일을 배포하고 다운로드 수를 집계
가장 중요한 조언 처음부터 다 이해하려 하지 마세요. add → commit → push 세 줄만 반복해도 GitHub의 90%는 쓰는 것입니다. 나머지는 필요해질 때 그때 찾아보면 됩니다.
이 문서는 Windows PowerShell 환경 기준으로 작성되었습니다.
Mac이나 Linux를 쓰신다면 dir 대신 ls, Select-String 대신 grep을 사용하시면 되고, git 명령어는 모두 동일합니다.

댓글

이 블로그의 인기 게시물

정부 무료 공공데이터 종류 총정리 & Python API 실전 호출 연동 가이드

말 대신 화면을 녹화하면 AI가 그대로 따라합니다: 클로드(Claude) 화면 녹화 스킬 & Chrome 연동 가이드

Claude Code 하나로 논문 작성부터 심사까지: academic-research-skills 완벽 가이드