๐ 1. Git ์ด๊ธฐ ์ค์
- Git์ ์ฒ์ ์ค์นํ๋ค๋ฉด ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ์ ์ค์
- ์ค์ ๋ช
๋ น์ด:
git config --global user.name "์ฌ์ฉ์์ด๋ฆ"
git config --global user.email "์ด๋ฉ์ผ์ฃผ์"
๐ 2. ๋ก์ปฌ ์ ์ฅ์ ์์ฑ
- ์๋ก์ด ํ๋ก์ ํธ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง๋ ํ, Git ์ด๊ธฐํ:
git init
- ํ์ฌ ๋๋ ํฐ๋ฆฌ๊ฐ Git ์ ์ฅ์๋ก ์ด๊ธฐํ๋๋ฉฐ, ์จ๊น ํด๋ .git์ด ์์ฑ๋จ
๐ 3. ์๊ฒฉ ์ ์ฅ์ ์ฐ๊ฒฐ(GitHub ์ฐ๊ฒฐ)
- GitHub์์ ์ ์ ์ฅ์(Repository) ์์ฑ
- ๋ก์ปฌ ์ ์ฅ์์ ์๊ฒฉ ์ ์ฅ์ ์ฐ๊ฒฐ:
git remote add origin [https://github.com/์ฌ์ฉ์์ด๋ฆ/์ ์ฅ์์ด๋ฆ.git]
- ์ฐ๊ฒฐ๋ ์๊ฒฉ ์ ์ฅ์ ํ์ธ:
git remote -v
๐ 4. ํ์ผ ์ํ ํ์ธ
- Git์ ํ์ผ ์ํ๋ฅผ Untracked, Staged, Committed๋ก ๊ตฌ๋ถํจ
- ํ์ฌ ํ์ผ ์ํ๋ฅผ ํ์ธ:
git status
๐ 5. ํ์ผ ์ถ๊ฐ(Stage)
- ๋ชจ๋ ํ์ผ์ Staging Area์ ์ถ๊ฐ:
git add .
- ํน์ ํ์ผ๋ง ์ถ๊ฐํ๊ณ ์ถ๋ค๋ฉด:
git add ํ์ผ์ด๋ฆ
๐ 6. ์ปค๋ฐ(commit)
- ํ์ผ์ ์ ์ฅ์์ ์ ์ฅ(์ปค๋ฐ):
git commit -m "์ปค๋ฐ ๋ฉ์์ง"
- ์ปค๋ฐ ๋ฉ์์ง๋ ๋ณ๊ฒฝ ๋ด์ฉ์ ์ ๋ํ๋ด์ผ ํจ
๐ 7. ์๊ฒฉ ์ ์ฅ์์ ํธ์(Push)
- ๋ก์ปฌ ์ปค๋ฐ์ GitHub ์๊ฒฉ ์ ์ฅ์์ ์
๋ก๋:
git push origin main
- ๋ง์ฝ ๋ธ๋์น ์ด๋ฆ์ด main์ด ์๋๋ผ๋ฉด ํด๋น ๋ธ๋์น ์ด๋ฆ์ ์ฌ์ฉ
๐ 8. ์๊ฒฉ ์ ์ฅ์ ๋ณ๊ฒฝ ๋ด์ฉ ๊ฐ์ ธ์ค๊ธฐ(Pull)
- ๋ค๋ฅธ ์ฌ๋์ด ์์ ํ ๋ด์ฉ์ ๋ก์ปฌ๋ก ๊ฐ์ ธ์ค๊ธฐ:
git pull origin main
- Pull์ Fetch + Merge๋ฅผ ์๋์ผ๋ก ์คํํจ
๐ 9. Git ์ ์ฅ์ ๋ณต์ (Clone)
- ๊ธฐ์กด์ ์๋ GitHub ์ ์ฅ์๋ฅผ ๋ด ๋ก์ปฌ์ ๋ณต์ฌํ๊ณ ์ถ์ ๋ ์ฌ์ฉ:
git clone [https://github.com/์ฌ์ฉ์์ด๋ฆ/์ ์ฅ์์ด๋ฆ.git]
- ์ ์ฅ์๋ฅผ ํต์งธ๋ก ๋ณต์ ํ์ฌ ์๋ก์ด ๋๋ ํฐ๋ฆฌ์ ๋ค์ด๋ก๋
๐ 10. Git ๋ธ๋์น ๊ด๋ฆฌ
- ์๋ก์ด ๋ธ๋์น ์์ฑ:
git branch ์๋ธ๋์น์ด๋ฆ
- ๋ธ๋์น ๋ณ๊ฒฝ:
git checkout ์๋ธ๋์น์ด๋ฆ
- ๋ธ๋์น ์์ฑ๊ณผ ๋์์ ์ด๋:
git checkout -b ์๋ธ๋์น์ด๋ฆ
- ๋ก์ปฌ ๋ธ๋์น๋ฅผ ์๊ฒฉ ์ ์ฅ์์ ํธ์:
git push origin ์๋ธ๋์น์ด๋ฆ
๐ 11. Git ๋ธ๋์น ๋ณํฉ(Merge)
- ๋ค๋ฅธ ๋ธ๋์น์ ๋ณ๊ฒฝ ๋ด์ฉ์ ํ์ฌ ๋ธ๋์น์ ํฉ์น๊ธฐ:
git merge ๋ธ๋์น์ด๋ฆ
- ์ฃผ์: ์ถฉ๋(conflict)์ด ๋ฐ์ํ ์ ์์ผ๋ฉฐ, ์ถฉ๋ ํ์ผ์ ์ง์ ์์ ํด์ผ ํจ
๐ 12. ์๊ฒฉ ์ ์ฅ์์ ์ฐ๊ฒฐ ํด์ (Remove Remote)
- ๊ธฐ์กด ์๊ฒฉ ์ ์ฅ์ ์ฐ๊ฒฐ ํด์ :
git remote remove origin
๐ Tip
- git log: ์ปค๋ฐ ๋ด์ญ์ ํ์ธํ ์ ์์
- git diff: ๋ณ๊ฒฝ๋ ํ์ผ์ ์ฐจ์ด์ ์ ๋ณด์ฌ์ค
- git reset --hard: ์ปค๋ฐ์ ์ด๊ธฐ ์ํ๋ก ๋๋๋ฆผ (์ฃผ์: ๋ฐ์ดํฐ ์์ค ๊ฐ๋ฅ)