GitHub์์ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋ ๊ฒ์ ๊ณต๋ ๋ชฉํ๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ํจ๊ป ์์ ํ๋ ๊ฐ๋ฐ์์ ๊ณต๋ ์์ ์์๊ฒ ๋ฐ๋์ ํ์ํ ๊ธฐ์ ์ ๋๋ค. ๋ฒ๊ทธ๋ฅผ ์์ ํ๊ฑฐ๋, ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋, ๋ฌธ์๋ฅผ ๊ฐ์ ํ๋ ๋ฑ ์ด๋ค ์์ ์ ํ๋ ๊ธฐ์ฌํ๋ ๊ณผ์ ์ ์ฒด๊ณ์ ์ด๊ณ ํจ์จ์ ์ธ ํ์ ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ํฌํฌํ๊ณ , ๋ถ๊ธฐ๋ฅผ ๋ง๋ค๊ณ , ๋์ด์ค๊ธฐ ์์ฒญ์ ์ ์ถํ๋ GitHub ํ๋ฆ์ ๋ฐ๋ฅด๋ฉด, ๋ค๋ฅธ ์ฌ์ฉ์์ ์์ ์ ๋ฐฉํดํ์ง ์๊ณ ๋ ํ๋ก์ ํธ์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์ ์ํ๊ณ ํผ๋๋ฐฑ์ ๋ฐ์ ์ ์์ต๋๋ค.
์ด ๊ฐ์ด๋์์๋ GitHub UI ๋ฐ ๋ช ๋ น์ค์ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์๋ด๋ฅผ ์ ๊ณตํฉ๋๋ค. GitHub Desktop์ ์ด์ฉํ ๊ธฐ์ฌ ๋ฐฉ๋ฒ์ GitHub Desktop์์ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ณต์ ๋ฐ ํฌํฌ์(๋ฅผ) ์ฐธ์กฐํ์ธ์. GitHub CLI(๋ช ๋ น์ค ์ธํฐํ์ด์ค)๋ฅผ ์ด์ฉํ ๊ธฐ์ฌ ๋ฐฉ๋ฒ์ GitHub CLI ๋น ๋ฅธ ์์์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
ํฌํฌ ์ ๋ณด
๋ค๋ฅธ ์ฌ๋์ ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๊ณ ์ถ์ง๋ง ์ง์ ๋ณ๊ฒฝํ ์ ์๋ ๊ถํ์ด ์๋ ๊ฒฝ์ฐ ํ๋ก์ ํธ์ ๋ณต์ฌ๋ณธ์ ์ง์ ๋ง๋ค๊ณ , ์ ๋ฐ์ดํธ๋ฅผ ๋ง๋ ๋ค์, ๊ธฐ๋ณธ ํ๋ก์ ํธ์ ํฌํจํ๋๋ก ํด๋น ์ ๋ฐ์ดํธ๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. ์ด ํ๋ก์ธ์ค๋ฅผ โํฌํฌ ๋ฐ ๋์ด์ค๊ธฐ ์์ฒญโ ์ํฌํ๋ก๋ผ๊ณ ๋ ํฉ๋๋ค.
ํ๋ก์ ํธ์ ๊ณ ์ ํ ๋ณต์ฌ๋ณธ(๋๋ โํฌํฌโ)์ ๋ง๋ค ๋ ์๋ ํ๋ก์ ํธ์ ์ฝ๋๋ฅผ ๊ณต์ ํ๋ ์ ์์ ์์ญ์ ๋ง๋๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ์ด๋ ์คํ ์์ค ํ๋ก์ ํธ ๋๋ ์๋ ํ๋ก์ ํธ์ ๋ํ ์ฐ๊ธฐ ๊ถํ์ด ์๋ ๊ฒฝ์ฐ์ ์ ์ฉํฉ๋๋ค.
๋ณต์ฌ๋ณธ์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์ ์ฉํ ํ ๋์ด์ค๊ธฐ ์์ฒญ์ผ๋ก ์ ์ถํ ์ ์์ต๋๋ค. ์ด๋ ๊ธฐ๋ณธ ํ๋ก์ ํธ์ ๋ณ๊ฒฝ ๋ด์ฉ์ ๋ค์ ์ ์ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฆฌํฌ์งํ ๋ฆฌ ํฌํฌ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
ํ๋ก์ ํธ์ ๊ณ ์ ํ ๋ณต์ฌ๋ณธ ๋ง๋ค๊ธฐ
์ด ์์ต์์์๋ ํฌํฌ ๋ฐ ๋์ด์ค๊ธฐ ์์ฒญ ์ํฌํ๋ก๋ฅผ ํ ์คํธํ ์ ์๋ GitHub์์ ํธ์คํธ๋๋ ํ ์คํธ ๋ฆฌํฌ์งํ ๋ฆฌ์ธ Spoon-Knife ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
-
https://github.com/octocat/Spoon-Knife์์
Spoon-Knife
ํ๋ก์ ํธ๋ก ์ด๋ํฉ๋๋ค. -
ํ์ด์ง์ ์ค๋ฅธ์ชฝ ์๋จ์์ Fork(ํฌํฌ)๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
"์์ ์"์์ ๋๋กญ๋ค์ด ๋ฉ๋ด๋ฅผ ์ ํํ๊ณ ํฌํฌ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์์ ์๋ฅผ ์ ํํฉ๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
์ฌ์ฉ์ ์ด๋ฆ์ด ํ์์ผ๋ก ํ์๋๋ฉด ํฌํฌ๊ฐ ์ด๋ฏธ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋์ ๊ธฐ์กด ํฌํฌ๋ฅผ ์ต์ ์ํ๋ก ์ ์งํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ํฌํฌ ๋๊ธฐํ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
-
๊ธฐ๋ณธ์ ์ผ๋ก ํฌํฌ์ ์ด๋ฆ์ ์ ์คํธ๋ฆผ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋์ผํฉ๋๋ค. ํ์์ ๋ฐ๋ผ ํฌํฌ๋ฅผ ๋ ๊ตฌ๋ถํ๋ ค๋ฉด, "๋ฆฌํฌ์งํ ๋ฆฌ ์ด๋ฆ" ํ๋์ ์ด๋ฆ์ ์ ๋ ฅํฉ๋๋ค.
-
ํ์์ ๋ฐ๋ผ โ์ค๋ช โ ํ๋์ ํฌํฌ ์ค๋ช ์ ์ ๋ ฅํฉ๋๋ค.
-
ํ์์ ๋ฐ๋ผ DEFAULT ๋ถ๊ธฐ๋ง ๋ณต์ฌ๋ฅผ ์ ํํฉ๋๋ค.
์คํ ์์ค ํ๋ก์ ํธ์ ๊ธฐ์ฌํ๋ ๊ฒ๊ณผ ๊ฐ์ ๋ง์ ํฌํฌ ์๋๋ฆฌ์ค์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๋ถ๊ธฐ๋ง ๋ณต์ฌํ๋ฉด ๋ฉ๋๋ค. ์ด ์ต์ ์ ์ ํํ์ง ์์ผ๋ฉด, ๋ชจ๋ ๋ถ๊ธฐ๊ฐ ์ ํฌํฌ๋ก ๋ณต์ฌ๋ฉ๋๋ค.
-
ํฌํฌ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
์ฐธ๊ณ ํญ๋ชฉ
์ ์คํธ๋ฆผ ๋ฆฌํฌ์งํ ๋ฆฌ์์ ์ถ๊ฐ ๋ถ๊ธฐ๋ฅผ ๋ณต์ฌํ๋ ค๋ ๊ฒฝ์ฐ ๋ถ๊ธฐ ํ์ด์ง์์ ๋ณต์ฌํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ฆฌํฌ์งํ ๋ฆฌ ๋ด์์ ๋ถ๊ธฐ ๋ง๋ค๊ธฐ ๋ฐ ์ญ์ ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
์ปดํจํฐ์ ํฌํฌ ๋ณต์
Spoon-Knife ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฑ๊ณต์ ์ผ๋ก ํฌํฌํ์ง๋ง, ์ง๊ธ๊น์ง๋ ํฌํฌ๊ฐ GitHub์๋ง ์กด์ฌํฉ๋๋ค. ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ ค๋ฉด ์ด๋ฅผ ์ปดํจํฐ์ ๋ณต์ ํด์ผ ํฉ๋๋ค.
๋ช ๋ น์ค, GitHub CLI ๋๋ GitHub Desktop์ ์ฌ์ฉํ์ฌ ํฌํฌ๋ฅผ ๋ณต์ ํ ์ ์์ต๋๋ค.
-
GitHub์์ Spoon-Knife ๋ฆฌํฌ์งํ ๋ฆฌ์ ํฌํฌ๋ก ์ด๋ํฉ๋๋ค.
-
ํ์ผ ๋ชฉ๋ก ์์์ ์ฝ๋๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
๋ฆฌํฌ์งํ ๋ฆฌ์ URL์ ๋ณต์ฌํฉ๋๋ค.
-
HTTPS๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํ๋ ค๋ฉด "HTTPS"์์ ์ ํด๋ฆญํฉ๋๋ค.
-
์กฐ์ง์ SSH ์ธ์ฆ ๊ธฐ๊ด์์ ๋ฐ๊ธํ ์ธ์ฆ์๋ฅผ ํฌํจํ์ฌ SSH ํค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํ๋ ค๋ฉด SSH๋ฅผ ํด๋ฆญํ ๋ค์, ์ ํด๋ฆญํฉ๋๋ค.
-
GitHub CLI๋ฅผ ์ฌ์ฉํ์ฌ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ๋ณต์ ํ๋ ค๋ฉด GitHub CLI ๋ฅผ ํด๋ฆญํ ๋ค์, ์ ํด๋ฆญํฉ๋๋ค.
-
-
Mac ๋๋ Linux์์ ํฐ๋ฏธ๋์ ์ฝ๋๋ค. Windows์์ Git Bash๋ฅผ ์ฝ๋๋ค.
-
ํ์ฌ ์์ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ณต์ ๋์ ๋๋ ํฐ๋ฆฌ์ ์์น๋ก ๋ณ๊ฒฝํฉ๋๋ค.
-
git clone
์ ์ ๋ ฅํ ๋ค์ ์ด์ ์ ๋ณต์ฌํ URL์ ๋ถ์ฌ๋ฃ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ๋๋ฉฐ, ์ฌ๊ธฐ์YOUR-USERNAME
๋์ GitHub ์ฌ์ฉ์ ์ด๋ฆ์ ์ฌ์ฉํฉ๋๋ค.git clone https://github.com/YOUR-USERNAME/Spoon-Knife
-
Enter ํค๋ฅผ ๋๋ฆ ๋๋ค. ๋ก์ปฌ ๋ณต์ ๋ณธ์ด ๋ง๋ค์ด์ง๋๋ค.
$ git clone https://github.com/YOUR-USERNAME/Spoon-Knife > Cloning into `Spoon-Knife`... > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. > remove: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done.
์์ ํ ๋ถ๊ธฐ ๋ง๋ค๊ธฐ
ํ๋ก์ ํธ๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ ์ ์ ๋ถ๊ธฐ๋ฅผ ๋ง๋ค๊ณ ์ฒดํฌ ์์ํด์ผ ํฉ๋๋ค. ์์ฒด ๋ถ๊ธฐ์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์ ์งํ์ฌ GitHub ํ๋ฆ์ ๋ฐ๋ฅด๊ณ ๋์ค์ ๋์ผํ ํ๋ก์ ํธ์ ๋ ์ฝ๊ฒ ๊ธฐ์ฌํ ์ ์๋์ง ํ์ธํฉ๋๋ค. GitHub ํ๋ฆ์(๋ฅผ) ์ฐธ์กฐํ์ธ์.
git branch BRANCH-NAME
git checkout BRANCH-NAME
๋ณ๊ฒฝ ๋ด์ฉ ๋ง๋ค๊ธฐ ๋ฐ ํธ์
Visual Studio Code๊ณผ(์) ๊ฐ์ด ์ฆ๊ฒจ์ฐพ๋ ํ
์คํธ ํธ์ง๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ ๋ด์ฉ์ ๋ช ๊ฐ์ง ๋ณ๊ฒฝํฉ๋๋ค. ์๋ฅผ ๋ค์ด index.html
์์ ํ
์คํธ๋ฅผ ๋ณ๊ฒฝํ์ฌ GitHub ์ฌ์ฉ์ ์ด๋ฆ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
๋ณ๊ฒฝ ๋ด์ฉ์ ์ ์ถํ ์ค๋น๊ฐ ๋๋ฉด ๋ณ๊ฒฝ ๋ด์ฉ์ ์คํ
์ด์งํ๊ณ ์ปค๋ฐํฉ๋๋ค. git add .
๋ Git์ ๋ค์ ์ปค๋ฐ์ ๋ชจ๋ ๋ณ๊ฒฝ ๋ด์ฉ์ ํฌํจํ๋๋ก ์ง์ํฉ๋๋ค. git commit
์ ๋ณ๊ฒฝ ๋ด์ฉ์ ์ค๋
์ท์ ๋ง๋ญ๋๋ค.
git add .
git commit -m "a short description of the change"
ํ์ผ์ ์คํ ์ด์งํ๊ณ ์ปค๋ฐํ๋ฉด Git์ โ๋ด ๋ณ๊ฒฝ ์ฌํญ์ ์ค๋ ์ท์ ๋ง๋ค์ด ์คโ๋ผ๊ณ ์ ๋ฌํ๋ ์ ์ ๋๋ค. ๊ณ์ํด์ ๋ ๋ง์ ๋ณ๊ฒฝ์ ์ํํ๊ณ ๋ ๋ง์ ์ปค๋ฐ ์ค๋ ์ท์ ๋ง๋ค ์ ์์ต๋๋ค.
ํ์ฌ, ๋ณ๊ฒฝ ๋ด์ฉ์ ๋ก์ปฌ์๋ง ์กด์ฌํฉ๋๋ค. GitHub๊น์ง ๋ณ๊ฒฝ ๋ด์ฉ์ ํธ์ํ ์ค๋น๊ฐ ๋๋ฉด ๋ณ๊ฒฝ ๋ด์ฉ์ ์๊ฒฉ์ผ๋ก ํธ์ํฉ๋๋ค.
git push
๋์ด์ค๊ธฐ ์์ฒญ
๋์ด์ค๊ธฐ ์์ฒญ์ ๋ง๋๋ ๊ฒ์ ๋ค๋ฅธ ์ฌ๋์ ํ๋ก์ ํธ๋ฅผ ํฌํฌํ๋ ๋ง์ง๋ง ๋จ๊ณ์ ๋๋ค. ์ ์ตํ ๋ณ๊ฒฝ์ ์ํํ๊ณ ์๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์ ์ํ๋ ค๋ ๊ฒฝ์ฐ, ์ ์ง ๊ด๋ฆฌ์๊ฐ ๊ฒํ ํ ์ ์๋๋ก ๋์ด์ค๊ธฐ ์์ฒญ์ ๋ง๋ญ๋๋ค.
์ด๋ ๊ฒ ํ๋ ค๋ฉด ํ๋ก์ ํธ๊ฐ ์๋ GitHub์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ก ์ด๋ํฉ๋๋ค. ์ด ์์์์๋ ์ด ๋ฆฌํฌ์งํ ๋ฆฌ๊ฐ https://github.com/<your_username>/Spoon-Knife
์ ์์ต๋๋ค. octocat:main
์ ์์ ๋ถ๊ธฐ๊ฐ ์์ ํ๋์ ์ปค๋ฐ์์ ๋ํ๋ด๋ ๋ฐฐ๋๊ฐ ํ์๋ฉ๋๋ค. Contribute(๊ธฐ์ฌ), Open a pull request(๋์ด์ค๊ธฐ ์์ฒญ ์ด๊ธฐ)๋ฅผ ํด๋ฆญํฉ๋๋ค.
GitHub๋ฅผ ํตํด ํฌํฌ์ octocat/Spoon-Knife
๋ฆฌํฌ์งํ ๋ฆฌ ๊ฐ์ ์ฐจ์ด์ ์ ๋ณด์ฌ ์ฃผ๋ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค. ๋์ด์ค๊ธฐ ์์ฒญ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
GitHub๋ฅผ ํตํด ๋ณ๊ฒฝ ๋ด์ฉ์ ๋ํ ์ ๋ชฉ๊ณผ ์ค๋ช ์ ์ ๋ ฅํ ์ ์๋ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค. ์ฒ์์ ์ด ๋์ด์ค๊ธฐ ์์ฒญ์ ๋ง๋๋ ์ด์ ์ ๋ํ ์ ์ฉํ ์ ๋ณด์ ๊ทผ๊ฑฐ๋ฅผ ์ต๋ํ ์ ๊ณตํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ณ๊ฒฝ ๋ด์ฉ์ด ์๊ฐ๋งํผ ๋ชจ๋ ์ฌ๋์๊ฒ ์ ์ฉํ์ง ํ๋ก์ ํธ ์์ ์๊ฐ ํ์ธํ ์ ์์ด์ผ ํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก, Create pull request(๋์ด์ค๊ธฐ ์์ฒญ ๋ง๋ค๊ธฐ)๋ฅผ ํด๋ฆญํฉ๋๋ค.
ํ๋ก์ ํธ ์์ง
ํ๋ก์ ํธ๋ฅผ ์ฒ์ ์ ํ๋ ๊ฒฝ์ฐ Copilot์ ์ฌ์ฉํ์ฌ ๋ฆฌํฌ์งํ ๋ฆฌ์ ๋ชฉ์ ์ ์ดํดํ๊ณ , ํ์ผ์ ๊ฒ์ฌํ๊ณ , ํน์ ์ฝ๋ ์ค์ ์์ธํ ์ดํด๋ณผ ์ ์์ต๋๋ค. GitHub Copilot์ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ ํ์์(๋ฅผ) ์ฐธ์กฐํ์ธ์.