๐จ GitHub ์ฌ์ฉ ์ ์ฃผ์ํ ์ (๋ณด์ยทํดํน ์๋ฐฉ)
1. ๋ฏผ๊ฐํ ์ ๋ณด๊ฐ ํฌํจ๋ ํ์ผ ์ฃผ์
- ๋น๋ฐ๋ฒํธ, API ํค(์ธ์ฆํค), ๊ฐ์ธ์ ๋ณด ๋ฑ ์ค์ํ ์ ๋ณด๋ ์ ๋ ์ฌ๋ฆฌ์ง ๋ง์ธ์!
- GitHub์ ์ฌ๋ฆฐ ์ ๋ณด๋ ๋ค๋ฅธ ์ฌ๋๋ค๋ ์ฝ๊ฒ ๋ณผ ์ ์์ด์.
๐ช ๋น์ :
- ์ง ์ด์ ๋ฅผ ์ง ์์ ๋๊ณ ๋ค๋๋ฉด ๋๊ตฌ๋ ๋ค์ด์ฌ ์ ์๋ ๊ฒ๊ณผ ๊ฐ์์.
๐ก ํด๊ฒฐ๋ฒ ์์:
# ์๋ชป๋ ์ (๋ฏผ๊ฐํ ์ ๋ณด ์ง์ ํฌํจ โ)
API_KEY = "123456789abcdef"
# ์ฌ๋ฐ๋ฅธ ์ (๋ณ๋ ํ์ผ๋ก ๊ด๋ฆฌ โ
)
.env ํ์ผ์ ์ ์ฅ ํ, .gitignore๋ก ๊ด๋ฆฌ
2. .gitignore ํ์ผ ๋ฐ๋์ ์ฌ์ฉ
- Git์ ์ฌ๋ฆฌ๋ฉด ์ ๋๋ ํ์ผ์ ์ง์ ํด์ ์ค์๋ก๋ผ๋ ์ ๋ก๋๋์ง ์๋๋ก ๋ง์์.
๐ช ๋น์ :
- ๊ธ๊ณ ์ ์ค์ํ ๋ฌผ๊ฑด์ ๋ฃ์ด ๋ค๋ฅธ ์ฌ๋์ด ๋ชป ๋ณด๊ฒ ์จ๊ธฐ๋ ๋๋!
๐ก ์ฌ์ฉ ์์:
# .gitignore
.env
password.txt
node_modules/
__pycache__/
3. ์ปค๋ฐยทํธ์ ์ ์ ๋ฐ๋์ ํ์ธํ๊ธฐ
- ๋ฌด์์ ๋นจ๋ฆฌ ์ปค๋ฐ(commit), ํธ์(push) ํ์ง ๋ง๊ณ , ํญ์ ํ์ผ ๋ด์ฉ ๋ค์ ํ์ธํ๊ธฐ!
๐ช ๋น์ :
- ์น๊ตฌํํ ๋ฉ์์ง๋ฅผ ๋ณด๋ผ ๋, ์๋ชป๋ ๋ด์ฉ์ ๋ณด๋ด์ง ์๊ธฐ ์ํด ํ ๋ฒ ๋ ์ฝ์ด๋ณด๋ ์ต๊ด๊ณผ ๊ฐ์์!
๐ก ์ข์ ์ต๊ด ์์:
git status # ๋ณ๊ฒฝ๋ ํ์ผ ๋ชฉ๋ก ๋ณด๊ธฐ
git diff ํ์ผ๋ช
# ํ์ผ ๋ด ๋ณ๊ฒฝ ๋ด์ฉ ํ์ธ
4. ํผ๋ธ๋ฆญ ๋ ํฌ(๊ณต๊ฐ ์ ์ฅ์)์ ํนํ ์กฐ์ฌ
- ํผ๋ธ๋ฆญ ์ ์ฅ์๋ ์ธํฐ๋ท์ ๊ณต๊ฐ๋ ์ํ๋ผ ๋๊ตฌ๋ ๋ณผ ์ ์์ด์.
- ๋ฏผ๊ฐ ์ ๋ณด๋ ๋ฐ๋์ ๋น๊ณต๊ฐ(Private) ์ ์ฅ์๋ ๋ณ๋ ๊ด๋ฆฌํ์ธ์.
๐ช ๋น์ :
- ๋๊ตฌ๋ ๋ณผ ์ ์๋ ๊ฒ์ํ์ ๊ฐ์ธ์ ๋ณด๋ฅผ ๋ถ์ด๋ ๊ฑด ์ํํ๊ฒ ์ฃ ?
5. Fork๋ Cloneํ ๋ ํดํน ๊ฐ๋ฅ์ฑ ์ฃผ์
- ๋ค๋ฅธ ์ฌ๋์ด ๋ง๋ ํ๋ก์ ํธ๋ฅผ
Forkํ๊ฑฐ๋Cloneํ ๋ ํดํน ์ฝ๋๋ ์ ์ฑ ์ฝ๋๊ฐ ํฌํจ๋ ์๋ ์์ด์.
๐ช ๋น์ :
- ๋ฏ์ ์ฌ๋์ด ์ค USB๋ฅผ ๊ทธ๋ฅ ๋ด ์ปดํจํฐ์ ๊ฝ์ผ๋ฉด ์ํํ๊ฒ ์ฃ ?
๐ก ๋ฐฉ์ง ๋ฐฉ๋ฒ:
- ๊ณต์์ ์ด๊ณ ์ ๋ขฐํ ์ ์๋ ํ๋ก์ ํธ๋ง ์ฌ์ฉํ๊ธฐ.
- ์ฝ๋๋ฅผ ๋ค์ด๋ฐ์ ํ, ํ์ผ ๋ด์ฉ์ ๋ฐ๋์ ํ์ธํ๊ธฐ!
Git ๋ช ๋ น์ด ์ฌ์ฉ ์ ์ฃผ์ํ ์ (์ปค๋ฐ, ๋ธ๋์น, ๋จธ์ง, ํธ์ฌ, ํ ๋ฑ)
1. Commit (์ปค๋ฐ) ์ฃผ์์ฌํญ
- ์ปค๋ฐ ๋ฉ์์ง๋ฅผ ์๋ฏธ ์๊ฒ ์์ฑํ์ธ์. (๋์ค์ ๋ฌด์จ ๋ณ๊ฒฝ์ด์๋์ง ์ฝ๊ฒ ์ ์ ์์ด์!)
์ข์ ์์ โ
git commit -m "feat(login): ๋ก๊ทธ์ธ ๋ฒํผ ์ถ๊ฐ"
๋์ ์์ โ
git commit -m "์์ "
๐ 2. Branch (๋ธ๋์น) ์ฃผ์์ฌํญ
- ๋ฉ์ธ(main) ๋ธ๋์น์์ ๋ฐ๋ก ์์ ํ์ง ๋ง์ธ์. ๋ณ๋์ ๋ธ๋์น์์ ์์ ํ ํฉ์น๋ ๊ฒ ์ข์์.
๋ธ๋์น ์์ฑ ์์
git checkout -b feat/login-page
๐ช ๋น์ :
- ์ด์(๋ณ๋ ๋ธ๋์น)์ ์์ฑ ํ ์์ฑ๋๋ฉด ์๋ณธ(๋ฉ์ธ ๋ธ๋์น)์ ์ฎ๊ธฐ๋ ๋๋!
๐ 3. Merge (๋จธ์ง) ์ฃผ์์ฌํญ
- ๋จธ์ง ์ ์ ํญ์ ์ถฉ๋(conflict)์ ํ์ธํ๊ณ ํด๊ฒฐํ์ธ์.
์ถฉ๋ ํด๊ฒฐ ์์
# ๋ธ๋์น ์ ํ ๋ฐ ๋จธ์ง
git checkout main
git merge feat/login-page
๐ช ๋น์ :
- ์๋ก ๋ค๋ฅธ ๋ ์ฌ๋์ด ๋์์ ๊ฐ์ ๋ ธํธ์ ๊ธ์ ์ผ์ ๋ ๊ฒน์น ๋ด์ฉ์ ์ ์ ๋ฆฌํด์ผ๊ฒ ์ฃ ?
๐ 4. Push (ํธ์) ์ฃผ์์ฌํญ
- ํธ์ ์ ํญ์ ํ์ผ ๋ด์ฉ์ ์ฌํ์ธํ๊ณ , ์๋ชป๋ ์ปค๋ฐ์ ๋ฐ๋์ ์์ ํ ํ ํธ์ํ์ธ์.
ํธ์ ๋ช ๋ น์ด ์์
git push origin main
๐ช ๋น์ :
- ๋ฉ์ผ์ด๋ ๋ฉ์์ง ๋ณด๋ด๊ธฐ ์ ์ต์ข ํ์ธํ๋ ์ต๊ด!
๐ 5. Pull (ํ) ์ฃผ์์ฌํญ
- ์์
์์ ์ ํญ์ ์ต์ ์ํ๋ก ์
๋ฐ์ดํธํ๊ธฐ (
git pull)๋ฅผ ํตํด ๋ค๋ฅธ ์ฌ๋์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ํ์ธ์.
ํ ๋ช ๋ น์ด ์์
git pull origin main
๐ช ๋น์ :
- ์น๊ตฌ์ ๊ฐ์ ๋ ธํธ๋ฅผ ์ธ ๋ ์น๊ตฌ๊ฐ ๋จผ์ ๋ด์ฉ์ ์ถ๊ฐํ๋ค๋ฉด, ๋ด๊ฐ ๋จผ์ ๊ทธ ๋ด์ฉ์ ํ์ธํ๊ณ ์์ ์ ์์ํ๋ ๊ฒ ์ข๊ฒ ์ฃ !
โ ๊ผญ ๊ธฐ์ตํ ํ ์ค ์์ฝ ๊ฟํ!
- GitHub์๋ ๋ฏผ๊ฐ ์ ๋ณด ์ ๋ ์ฌ๋ฆฌ์ง ๋ง๊ณ , ํ์ผ ๋ด์ฉ์ ํญ์ ๋ค์ ํ์ธํ์! ๐๐
์ด๋ ๊ฒ ๊ธฐ๋ณธ ๋ณด์๊ณผ ์ฃผ์์ฌํญ์ ์ ์งํค๋ฉด Git๊ณผ GitHub๋ฅผ ์์ ํ๊ณ ํจ๊ณผ์ ์ผ๋ก ์ธ ์ ์์ด
