-
git : ๋ถ์ฐ ๋ฒ์ ๊ด๋ฆฌ ์์คํ . ์์ ์ด ์์ ํ ์ฝ๋๋ฅผ ํ ์คํธ ๋ช ๋ น์ด ์ ๋ ฅ ๋ฐฉ์์ผ๋ก ์ ์ฅํ ์ ์๋ค.
-
github :ย git ๋ฐ์ดํฐ๋ฅผ ์จ๋ผ์ธ์ ์ ์ฅํด ์ฃผ๋ ์ฌ์ดํธ. ๊ฐํธํ ๊ทธ๋ํฝ ์ ์ ์ธํฐํ์ด์ค(GUI)๋ฅผ ์ ๊ณตํ๋ค. ์์ ์ด ์์ ํ ์ฝ๋๋ฅผ ๊ฐํธํ๊ฒ ํ์ธํ ์ ์๊ณ , ์ด๋ฅผ ๊ณต์ ํ์ฌ ํ์ ํ ์ ์๋ค.
๐ก ๋ฒ์ ๊ด๋ฆฌ? git์ ์ ์ฐ๋๊ฑธ๊น์?
git์ ์ด์ ๊ธฐ๋ก๊ณผ ๋ฌ๋ผ์ง ๋ถ๋ถ๋ค์ ๊ธฐ๋กํฉ๋๋ค. ์๋ฅผ ๋ค์ด v 1.0์ ๊ฐ๋ฐํ๊ณ , v 1.1์ ๊ฐ๋ฐํ๋ ์ค์ธ๋ฐ ํ๋ก๊ทธ๋จ์ด ์ ์์ ์ผ๋ก ์คํ๋์ง ์์ต๋๋ค. ์ด๋ด ๊ฒฝ์ฐ v 1.0๊ณผ v 1.1์์ ๋ฌ๋ผ์ง ๋ถ๋ถ๋ค์ ์ฝ๊ฒ ํ์ธํ ์ ์๊ธฐ ๋๋ฌธ์ ์๋ฌ๋ฅผ ์ฐพ๊ธฐ ์ฝ๊ฒ ์ฃ ? ๋ํ ์๋ฌ๋ฅผ ์ฐพ์ง ๋ชปํ๋ค๊ณ ํด๋ v 1.0์ผ๋ก ๋๋์ ๊ฐ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ์ฝ๋๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ ์์คํ ์ด git์ ๋๋ค. github์ ์ด๋ฌํ git์ ๊ธฐ๋ฅ์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก GUI๋ฅผ ์ ๊ณตํ๋ ์ฌ์ดํธ์ด๊ณ , ์ด๋ฅผ ํตํด ํ์ ์ด ์ฝ๊ฒ ์ด๋ฃจ์ด์ง ์ ์์ต๋๋ค.
- ์ฐ์ธก ์๋จ + > New repository
- repository name, Description ์์ฑ
- Public(๊ณต๊ฐ)์ผ๋ก ์ค์
- HTTPS url ๋ณต์ฌ
๐ก Add a README file์ ์ฒดํฌํ๋ค๋ฉด?
$ git clone [HTTPS url]
์ ํด์ฃผ๋ฉด repository ๋ด์ฉ ๊ทธ๋๋ก ๋ก์ปฌ์ ์๊น๋๋ค.- git init, remote ๊ณผ์ ์ ๊ฑฐ์น์ง ์๊ณ ๋ฐ๋ก git add, commit๋ฅผ ์งํํ๋ฉด ๋ฉ๋๋ค. - HTTPS url์ ์ด๋ก์ Code ๋ฒํผ์ ๋๋ฅด๋ฉด ๋ณต์ฌํ ์ ์์ต๋๋ค.
- git ๊ณ์ ์ ๋ฑ๋ก
$ git config --global user.name "[name]"
$ git config --global user.email "[email]"
๐ก --global์ ๋ถ์ด๋ฉด ๋ชจ๋ ํ๋ก์ ํธ์ ์ ์ฉ, ๋นผ๋ฉด ํ๋ก์ ํธ ๋ณ๋ก ์ค์ ๊ฐ๋ฅ
- ์์ ํ ํด๋๋ฅผ ๋ง๋ค๊ณ ๊ทธ ํด๋๋ก ์ด๋
$ cd [ํ๋ก์ ํธ ์ด๋ฆ]
๐ก cd (change directory)
cd ..
: ์์ ํด๋๋ก ์ด๋- ๋๋ ํ ๋ฆฌ ์ด๋ฆ์ ์ ๋ ฅํ๋ค๊ฐ tab์ ๋๋ฅด๋ฉด ์๋์์ฑ์ด ๋ฉ๋๋ค. (ํ์ฌ๊น์ง ์ ๋ ฅํ ์ด๋ฆ์ผ๋ก ์์ํ๋ ๋๋ ํ ๋ฆฌ๊ฐ ์ ์ผํ ๋)
- commit, push๋ฅผ ํด๋ด์ผ ํ๋๋ฐ ์์ง ์ฝ๋๋ฅผ ์์ฑํ ํ์ผ์ด ์์ผ๋ฏ๋ก README.md ํ์ผ์ '#sns-project'์ด๋ผ๋ ๋ด์ฉ์ ์์ฑํด๋ด ์๋ค.
$ echo "# sns-project" >> README.md
๐ก echo
- ํ๋ฉด์ ํ ์คํธ๋ฅผ ์ถ๋ ฅํ๋ ๋ช ๋ น์ด
- "" ์์ ๋ค์ด์๋ ํ ์คํธ๋ฅผ >> ๋ค์ ์๋ ํ์ผ์ ์ถ๊ฐํฉ๋๋ค.
- README.md ๋ผ๋ ํ์ผ์ด ์์ผ๋ฉด ์์ฑ๋๊ณ ํ ์คํธ๊ฐ ์ ๋ ฅ๋ฉ๋๋ค.
- ">>" ๋์ ">"๋ฅผ ์ฐ๋ฉด ๊ธฐ์กด์ ์๋ ํ์ผ์ผ ๊ฒฝ์ฐ ๋ด์ฉ์ด ๋ฎ์ด์ฐ๊ธฐ ๋ฉ๋๋ค.
- ์๋ก์ด Git ์ ์ฅ์(repository)๋ฅผ ์์ฑํ ๋ ์ฌ์ฉ (์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์์ํ ๋)
- ์ฆ, ๊ฐ๊ฐ์ ํ๋ก์ ํธ์์ ์๋ก์ด ํ๋ก์ ํธ๋ฅผ ์์ํ ๋ ๋ง๋ค ์ฒ์ ํ ๋ฒ๋ง ํด์ฃผ๋ฉด ๋จ
$ git init
- ์ ์ฅํ ํ์ผ์ ์ ํํ๋ ๊ณผ์
- staging area๋ก ํ์ผ์ ์ฎ๊ธด๋ค.
$ git add .
- ์ฌ๋ฌ ํ์ผ์ ์ฎ๊ธฐ๊ณ ์ถ์ ๋ : git add [ํ์ผ์ด๋ฆ1] [ํ์ผ์ด๋ฆ2] [ํ์ผ์ด๋ฆ3]
- ๋ณ๊ฒฝ๋ ๋ชจ๋ ํ์ผ์ ์ฎ๊ธฐ๊ณ ์ถ์ ๋:ย git add .
- staging area์ ์๋ ํ์ผ๋ค์ ์ ์ฅ
- local repository(์์ ์ด ์์ ํ๋ ํ๊ฒฝ)์ ์ ์ฅ๋๋ค.
- ์ฆ, ์์ง github์ ์ฌ๋ผ๊ฐ์ง ์์, ์์ ๋ง ํ์ธํ ์ ์๋ ์ํ
$ git commit -m "commit message"
- repository ์ฐ๊ฒฐ
- commitํ ๋ด์ฉ์ remote repository(githhub)๋ก pushํด์ผํ๋๋ฐ, ์ด๋ค github repository๋ก ๋ณด๋ผ ๊ฒ์ธ์ง ์๋ ค์ฃผ๋ ๊ณผ์
$ git remote add origin [HTTPS url]
- ์ด url(repository)์ 'origin'์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ์ฐ๊ฒฐํ๋ค๋ ์๋ฏธ (๊ด๋ก์ origin ์ฌ์ฉ)
- remote repository์ผ๋ก ์ฌ๋ฆผ
- ์ด ๊ณผ์ ์ ๋ง์น๋ฉด github์์ ํ์ธ์ด ๊ฐ๋ฅ
$ git push origin main
๐ก main? master?
repository๋ฅผ ์์ฑํ๋ฉด default branch ํ๋๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์์ฑ๋ฉ๋๋ค. ๊ทธ default branch๊ฐ master์์ main์ผ๋ก ์ต๊ทผ์ ๋ณ๊ฒฝ๋์์ต๋๋ค.(master)๋ผ๋ฉด master๋ก, (main)์ด๋ผ๋ฉด main์ผ๋ก pushํ๋ฉด ๋ฉ๋๋ค.
- github์์ main์ผ๋ก ๋ณ๊ฒฝํ ์ฌํญ์ด๊ณ , ํผ๋์ ๋ฐฉ์งํ๊ธฐ ์ํด main ์ฌ์ฉ์ ๊ถ์ฅํฉ๋๋ค.
- repository ์ด๊ธฐ ํ๋ฉด์ 'master'๋ผ๊ณ ๋์ด์๋ ๋ฒํผ ํด๋ฆญ
- view all branches ํด๋ฆญ
- ์ด๋ฆ main ์ผ๋ก ์์ฑํ๊ณ rename branch ์ ๋ ฅ
- ๋ณ๊ฒฝํ๊ณ ๋จ๋ ๋ฉ์ธ์ง์ ๋์ค๋ ๋ช ๋ น์ด๋ฅผ ๋ณต์ฌํด VS Code์ ์ ๋ ฅํ๊ฑฐ๋, repository๋ฅผ ์ง์ฐ๊ณ clone ํ๊ธฐ