๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

USB ํŒŒ์ผ์„ GitHub์— ์—…๋กœ๋“œํ•˜๋Š” ์™„๋ฒฝ ๊ฐ€์ด๋“œ

๋ฐ˜์‘ํ˜•

๐Ÿ“ฆ USB ํŒŒ์ผ์„ GitHub์— ์—…๋กœ๋“œํ•˜๋Š” ์™„๋ฒฝ ๊ฐ€์ด๋“œ

๐ŸŽฏ ์ด๋Ÿฐ ๋ถ„๋“ค์„ ์œ„ํ•œ ๊ฐ€์ด๋“œ์ž…๋‹ˆ๋‹ค
  • USB๋‚˜ ๋กœ์ปฌ ํด๋”์— ์žˆ๋Š” ๋งŽ์€ ํŒŒ์ผ์„ GitHub์— ์˜ฌ๋ฆฌ๊ณ  ์‹ถ์€ ๋ถ„
  • Git์„ ์ฒ˜์Œ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ๋ช…๋ น์–ด๊ฐ€ ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๋ถ„
  • ์‹ค์ œ ์‚ฌ๋ก€๋ฅผ ํ†ตํ•ด ๋‹จ๊ณ„๋ณ„๋กœ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ๋ถ„

์‹ค์ „ ์‚ฌ๋ก€: 3,327๊ฐœ์˜ HTML ํŒŒ์ผ(์•ฝ 99MB)์„ GitHub์— ์„ฑ๊ณต์ ์œผ๋กœ ์—…๋กœ๋“œํ•œ ์‹ค์ œ ๊ณผ์ •์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“‹ 1๋‹จ๊ณ„: ์‚ฌ์ „ ์ค€๋น„

1 Git ์„ค์น˜ ํ™•์ธ

๋ช…๋ น ํ”„๋กฌํ”„ํŠธ(CMD) ๋˜๋Š” ํ„ฐ๋ฏธ๋„์„ ์—ด๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค:

git --version
โœ… ์ •์ƒ ์ถœ๋ ฅ ์˜ˆ์‹œ:
git version 2.43.0.windows.1
โš ๏ธ Git์ด ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š๋‹ค๋ฉด?
https://git-scm.com์—์„œ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ์„ค์น˜ํ•˜์„ธ์š”.

2 GitHub ๊ณ„์ • ๋ฐ ์ €์žฅ์†Œ ์ƒ์„ฑ

  1. GitHub.com์— ์ ‘์†ํ•˜์—ฌ ํšŒ์›๊ฐ€์ž… (๋ฌด๋ฃŒ)
  2. ์šฐ์ธก ์ƒ๋‹จ + ๋ฒ„ํŠผ โ†’ New repository ํด๋ฆญ
  3. ์ €์žฅ์†Œ ์ด๋ฆ„ ์ž…๋ ฅ (์˜ˆ: my-project)
  4. Create repository ํด๋ฆญ
  5. ์ƒ์„ฑ๋œ ์ €์žฅ์†Œ์˜ URL ๋ณต์‚ฌ (์˜ˆ: https://github.com/์‚ฌ์šฉ์ž๋ช…/์ €์žฅ์†Œ๋ช….git)

๐Ÿš€ 2๋‹จ๊ณ„: ํŒŒ์ผ ์—…๋กœ๋“œ ์‹คํ–‰

1 ์ž‘์—… ํด๋”๋กœ ์ด๋™

์—…๋กœ๋“œํ•  ํŒŒ์ผ์ด ์žˆ๋Š” ํด๋”๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค:

cd C:\Users\์‚ฌ์šฉ์ž๋ช…\๋‚ดํด๋”\์—…๋กœ๋“œํ• ํด๋”
๐Ÿ’ก ํŒ: ํด๋” ๊ฒฝ๋กœ๋ฅผ ๋ชจ๋ฅธ๋‹ค๋ฉด?
  • Windows: ํƒ์ƒ‰๊ธฐ์—์„œ ํด๋”๋ฅผ ์—ฐ ํ›„ ์ฃผ์†Œ์ฐฝ์˜ ๊ฒฝ๋กœ๋ฅผ ๋ณต์‚ฌ
  • ๋˜๋Š” ํด๋”์—์„œ ๋งˆ์šฐ์Šค ์šฐํด๋ฆญ โ†’ "ํ„ฐ๋ฏธ๋„์—์„œ ์—ด๊ธฐ" (Windows 11)

2 Git ์ €์žฅ์†Œ ์ดˆ๊ธฐํ™”

git init
โœ… ์„ฑ๊ณต ๋ฉ”์‹œ์ง€:
Initialized empty Git repository in C:/Users/์‚ฌ์šฉ์ž๋ช…/๋‚ดํด๋”/.git/

์ด ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ํด๋”๋ฅผ Git์ด ๊ด€๋ฆฌํ•˜๋Š” ์ €์žฅ์†Œ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์ˆจ๊น€ ํด๋” .git์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

3 GitHub ์›๊ฒฉ ์ €์žฅ์†Œ ์—ฐ๊ฒฐ

git remote add origin https://github.com/์‚ฌ์šฉ์ž๋ช…/์ €์žฅ์†Œ๋ช….git

origin์€ ์›๊ฒฉ ์ €์žฅ์†Œ์˜ ๋ณ„์นญ์ž…๋‹ˆ๋‹ค. GitHub ์ €์žฅ์†Œ์™€ ๋กœ์ปฌ ํด๋”๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋‹จ๊ณ„์ž…๋‹ˆ๋‹ค.

4 ํŒŒ์ผ ์Šคํ…Œ์ด์ง• (์ถ”๊ฐ€)

git add .

.์€ "ํ˜„์žฌ ํด๋”์˜ ๋ชจ๋“  ํŒŒ์ผ"์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋กœ ์—…๋กœ๋“œํ•  ํŒŒ์ผ์„ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค.

โš ๏ธ ์ฃผ์˜: ํŒŒ์ผ์ด ๋งŽ์œผ๋ฉด ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 3,000๊ฐœ ์ด์ƒ์˜ ํŒŒ์ผ์€ 1~2๋ถ„ ์†Œ์š”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5 ์ปค๋ฐ‹ (๋ณ€๊ฒฝ์‚ฌํ•ญ ์ €์žฅ)

git commit -m "Add initial files from USB"
โœ… ์„ฑ๊ณต ๋ฉ”์‹œ์ง€ ์˜ˆ์‹œ:
3327 files changed, 50000 insertions(+)
create mode 100644 ํŒŒ์ผ๋ช…1.html
create mode 100644 ํŒŒ์ผ๋ช…2.html
...

-m ๋’ค์˜ ๋ฉ”์‹œ์ง€๋Š” ๋ณ€๊ฒฝ ๋‚ด์šฉ ์„ค๋ช…์ž…๋‹ˆ๋‹ค. ๋‚˜์ค‘์— ์–ด๋–ค ์ž‘์—…์„ ํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

6 ๋ธŒ๋žœ์น˜ ์ด๋ฆ„ ์„ค์ •

git branch -M main

๊ธฐ๋ณธ ๋ธŒ๋žœ์น˜ ์ด๋ฆ„์„ main์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. (GitHub์˜ ํ‘œ์ค€)

7 GitHub์— ์—…๋กœ๋“œ (Push)

git push -u origin main

๋“œ๋””์–ด ํŒŒ์ผ์„ GitHub๋กœ ์—…๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค!

โš ๏ธ ์ธ์ฆ ํ•„์š”: ์ฒ˜์Œ pushํ•  ๋•Œ๋Š” GitHub ๋กœ๊ทธ์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ธŒ๋ผ์šฐ์ € ์ฐฝ์ด ์ž๋™์œผ๋กœ ์—ด๋ฆฌ๋ฉด GitHub์— ๋กœ๊ทธ์ธ
  • ๋˜๋Š” Personal Access Token์„ ์ƒ์„ฑํ•˜์—ฌ ๋น„๋ฐ€๋ฒˆํ˜ธ ๋Œ€์‹  ์ž…๋ ฅ
โœ… ์—…๋กœ๋“œ ์„ฑ๊ณต ๋ฉ”์‹œ์ง€:
Enumerating objects: 3500, done.
Counting objects: 100% (3500/3500), done.
Compressing objects: 100% (3400/3400), done.
Writing objects: 100% (3500/3500), 99.12 MiB | 5.00 MiB/s, done.
Total 3500 (delta 100), reused 0 (delta 0)

โš ๏ธ 3๋‹จ๊ณ„: ๋ฌธ์ œ ํ•ด๊ฒฐ (ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…)

๋ฌธ์ œ 1: "fatal: remote origin already exists"

์—๋Ÿฌ ๋ฉ”์‹œ์ง€:
fatal: remote origin already exists.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•: ๊ธฐ์กด ์—ฐ๊ฒฐ์„ ์ œ๊ฑฐํ•˜๊ณ  ๋‹ค์‹œ ์ถ”๊ฐ€

git remote remove origin git remote add origin https://github.com/์‚ฌ์šฉ์ž๋ช…/์ €์žฅ์†Œ๋ช….git

๋ฌธ์ œ 2: "Updates were rejected"

์—๋Ÿฌ ๋ฉ”์‹œ์ง€:
! [rejected] main -> main (non-fast-forward)

์›์ธ: GitHub ์ €์žฅ์†Œ์— ์ด๋ฏธ ํŒŒ์ผ์ด ์žˆ์„ ๋•Œ (README.md ๋“ฑ)

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• 1: ๋ณ‘ํ•ฉ(Merge)ํ•˜๊ธฐ

git pull origin main --allow-unrelated-histories
โš ๏ธ Vim ์—๋””ํ„ฐ๊ฐ€ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค
  1. ESC ํ‚ค๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค
  2. :wq๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค
  3. Enter๋ฅผ ๋ˆ„๋ฆ…๋‹ˆ๋‹ค
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ณ‘ํ•ฉ ๋ฉ”์‹œ์ง€๋ฅผ ์ €์žฅํ•˜๊ณ  ๋‚˜๊ฐ‘๋‹ˆ๋‹ค.

๊ทธ ๋‹ค์Œ ๋‹ค์‹œ push:

git push -u origin main

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• 2: ๊ฐ•์ œ ํ‘ธ์‹œ (์ฃผ์˜: ๊ธฐ์กด GitHub ๋‚ด์šฉ ์‚ญ์ œ๋จ)

git push -u origin main --force

๋ฌธ์ œ 3: ํŒŒ์ผ์ด ๋„ˆ๋ฌด ์ปค์„œ ์—…๋กœ๋“œ ์‹คํŒจ

์—๋Ÿฌ ๋ฉ”์‹œ์ง€:
remote: error: File ํฐํŒŒ์ผ.zip is 150.00 MB; this exceeds GitHub's file size limit of 100.00 MB

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•:

  1. 100MB ์ด์ƒ ํŒŒ์ผ์€ GitHub์— ์—…๋กœ๋“œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค
  2. Git LFS(Large File Storage) ์‚ฌ์šฉ
  3. ๋˜๋Š” ํŒŒ์ผ์„ ๋‚˜๋ˆ„๊ฑฐ๋‚˜ ์••์ถ•

โœ… 4๋‹จ๊ณ„: ์—…๋กœ๋“œ ํ™•์ธ

  1. GitHub ์ €์žฅ์†Œ ํŽ˜์ด์ง€๋กœ ์ด๋™: https://github.com/์‚ฌ์šฉ์ž๋ช…/์ €์žฅ์†Œ๋ช…
  2. ํŒŒ์ผ ๋ชฉ๋ก์ด ๋ณด์ด๋Š”์ง€ ํ™•์ธ
  3. ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€์™€ ๋‚ ์งœ ํ™•์ธ
โœ… ์„ฑ๊ณต! ๋ชจ๋“  ํŒŒ์ผ์ด GitHub์— ์•ˆ์ „ํ•˜๊ฒŒ ์ €์žฅ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“Š ์‹ค์ „ ํ†ต๊ณ„: 3,327๊ฐœ ํŒŒ์ผ ์—…๋กœ๋“œ ์‚ฌ๋ก€

ํ•ญ๋ชฉ ๋‚ด์šฉ
ํŒŒ์ผ ๊ฐœ์ˆ˜ 3,327๊ฐœ
์ด ์šฉ๋Ÿ‰ 99,127,739 bytes (์•ฝ 94.5MB)
ํŒŒ์ผ ํ˜•์‹ HTML
์†Œ์š” ์‹œ๊ฐ„ ์•ฝ 5~10๋ถ„ (๋„คํŠธ์›Œํฌ ์†๋„์— ๋”ฐ๋ผ ๋‹ค๋ฆ„)
์—…๋กœ๋“œ ์†๋„ ํ‰๊ท  5~10 MB/s

๐Ÿ’ก ์ถ”๊ฐ€ ํŒ

1. .gitignore ํŒŒ์ผ ํ™œ์šฉ

์—…๋กœ๋“œํ•˜๊ณ  ์‹ถ์ง€ ์•Š์€ ํŒŒ์ผ์ด ์žˆ๋‹ค๋ฉด .gitignore ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜์„ธ์š”:

# .gitignore ํŒŒ์ผ ๋‚ด์šฉ *.log *.tmp node_modules/ .env ๋น„๋ฐ€๋ฒˆํ˜ธ.txt

2. ๋Œ€์šฉ๋Ÿ‰ ํŒŒ์ผ์ด ๋งŽ๋‹ค๋ฉด?

  • Git LFS ์‚ฌ์šฉ ๊ถŒ์žฅ
  • ๋˜๋Š” ์—ฌ๋Ÿฌ ์ €์žฅ์†Œ๋กœ ๋‚˜๋ˆ„๊ธฐ
  • ํด๋ผ์šฐ๋“œ ์Šคํ† ๋ฆฌ์ง€(Google Drive, Dropbox) ๋ณ‘ํ–‰ ์‚ฌ์šฉ

3. ์ •๊ธฐ์ ์ธ ๋ฐฑ์—…

์ฃผ๊ธฐ์ ์œผ๋กœ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ปค๋ฐ‹ํ•˜๊ณ  pushํ•˜๋ฉด ์ž๋™ ๋ฐฑ์—…์ด ๋ฉ๋‹ˆ๋‹ค:

git add . git commit -m "Update files - 2024-12-24" git push

๐ŸŽ“ ์ฃผ์š” ๋ช…๋ น์–ด ์ •๋ฆฌ

๋ช…๋ น์–ด ์„ค๋ช…
git init Git ์ €์žฅ์†Œ ์ดˆ๊ธฐํ™”
git add . ๋ชจ๋“  ํŒŒ์ผ ์Šคํ…Œ์ด์ง•
git commit -m "๋ฉ”์‹œ์ง€" ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ปค๋ฐ‹
git remote add origin URL ์›๊ฒฉ ์ €์žฅ์†Œ ์—ฐ๊ฒฐ
git push -u origin main GitHub์— ์—…๋กœ๋“œ
git pull origin main GitHub์—์„œ ๋‹ค์šด๋กœ๋“œ
git status ํ˜„์žฌ ์ƒํƒœ ํ™•์ธ
git log ์ปค๋ฐ‹ ๊ธฐ๋ก ํ™•์ธ

๐Ÿ”— ๋‹ค์Œ ๋‹จ๊ณ„: GitHub Pages๋กœ ์›น์‚ฌ์ดํŠธ ๋งŒ๋“ค๊ธฐ

HTML ํŒŒ์ผ์„ ์—…๋กœ๋“œํ–ˆ๋‹ค๋ฉด GitHub Pages๋ฅผ ํ™œ์šฉํ•ด ๋ฌด๋ฃŒ ์›น์‚ฌ์ดํŠธ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  1. ์ €์žฅ์†Œ ์„ค์ • ํŽ˜์ด์ง€๋กœ ์ด๋™
  2. ์ขŒ์ธก ๋ฉ”๋‰ด์—์„œ Pages ์„ ํƒ
  3. Source๋ฅผ main ๋ธŒ๋žœ์น˜๋กœ ์„ค์ •
  4. Save ํด๋ฆญ
  5. ๋ช‡ ๋ถ„ ํ›„ https://์‚ฌ์šฉ์ž๋ช….github.io/์ €์žฅ์†Œ๋ช…์—์„œ ํ™•์ธ
๐ŸŽ‰ ์ถ•ํ•˜ํ•ฉ๋‹ˆ๋‹ค!
USB์˜ ํŒŒ์ผ์„ ์„ฑ๊ณต์ ์œผ๋กœ GitHub์— ์—…๋กœ๋“œํ–ˆ๊ณ , ์ด์ œ ์–ด๋””์„œ๋“  ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „ ๊ด€๋ฆฌ๋„ ๊ฐ€๋Šฅํ•˜๊ณ , ํ˜‘์—…๋„ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์›น์‚ฌ์ดํŠธ๋กœ๋„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

๐Ÿ“š ์ฐธ๊ณ  ์ž๋ฃŒ


์ด ๊ฐ€์ด๋“œ๊ฐ€ ๋„์›€์ด ๋˜์…จ๋‹ค๋ฉด ๋Œ“๊ธ€๋กœ ์•Œ๋ ค์ฃผ์„ธ์š”! ๐Ÿ˜Š
๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ์‹œ๋ฉด ์–ธ์ œ๋“  ์งˆ๋ฌธํ•ด์ฃผ์„ธ์š”.

๋ฐ˜์‘ํ˜•