ํ์ผ์ ์์ ํ๋ค ๋ณด๋ฉด ๋ฒ์ ๊ด๋ฆฌ๊ฐ ๊ฝค ์ด๋ ต๋ค.
์ด๋ค ์ํฉ์์ ๊ธฐ์กด ์๋ณธ์ด ์ด๋ป๊ฒ ์ฐ์ผ ์ง ๋ชจ๋ฅด๋๊น ์ญ์ ๋ฅผ ํ์ง ๋ชปํ๊ณ ๊ณ์ ์ด๋ฐ ์์ผ๋ก ์ ์ฅ๋์ ์์ด๋ ๊ฒ์ด๋ค.
์ฝ๋๋ ๋ง์ฐฌ๊ฐ์ง์ด๋ค. ์ฒ์์ ๋ธ๋ก๊ทธ๋ฅผ ์ปค์คํ ํ ๋๋ ๋ฌธ์ ๊ฐ ์์๋๋ฐ ์กฐ๊ธ์ฉ ์ฌ๊ธฐ ์ ๊ธฐ ํ ๋ง๋ฅผ ์ ํ๋ค ๋ณด๋ ์ด์ ์๋ก์ด ๊ธฐ๋ฅ์ ํ๋๋ฅผ ์ถ๊ฐํ๋ฉด ๊ธฐ์กด์ ์ ๋ณด์ด๋ ๊ตฌ๋ ๋ฒํผ์ด ์์ด์ง๋ค๋๊ฐ ํ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
์ฒ์์๋ ํ ๋ ๊ตฐ๋ฐ๋ง ์ปค์คํ ํ๋ฉด์ ๊ทธ๋ฅ ์ฃผ์์ผ๋ก ์ถ๊ฐํ ๊ธฐ๋ฅ๊ณผ ๋ ์ง ์ ๋๋ง ์ ์ด ๋์๋๋ฐ ์ด์ ๋ถํฐ๋ ์ด๋ฐ ์์ผ๋ก ํ๋ฉด ๋์ค์๋ ๊ด๋ฆฌ๊ฐ ์ ๋ ๊ฒ ๊ฐ์์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ํ๋ฉด์ ๋ด๊ฐ ์ธ์ ์ด๋ค ๋ถ๋ถ์ ์์ ํ๋์ง ์ถ์ ์ ํด์ผ ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค.
์ด๋ด๋ ์ฌ์ฉํ๋ ๊ฒ์ด Git(๊น)์ด๋ค.
1. Git vs GitHub
์ฐธ๊ณ ๋ก ๊น์ด๋ ๊นํ๋ธ(๊ณ ์์ด)๋ ๋ค๋ฅด๋ค.
Git์ ๋ฒ์ ๊ด๋ฆฌ ๋๊ตฌ์ด๊ณ , GitHub๋ Git์ ์ฌ์ฉํ๋ ์ฝ๋ ์ ์ฅ์ ์๋น์ค(ํด๋ผ์ฐ๋ ํ๋ซํผ)์ด๋ค.
์ฝ๊ฒ ๋งํด์ Git์ ์ฝ๋๋ฅผ ๋ก์ปฌ์์ ๊ด๋ฆฌํ๊ณ ๋ฒ์ ์ ๊ธฐ๋กํ๋ ๋๊ตฌ, GitHub๋ ๊ทธ ์ฝ๋๋ฅผ ์ธํฐ๋ท์ ์ฌ๋ฆฌ๊ณ ํ์
ํ ์ ์๊ฒ ๋์์ฃผ๋ ๊ณต๊ฐ์ด๋ค.
2. ๊น(git)์ ์ฌ์ฉํ๋ฉด ์ข์ ์
- ๊ณผ๊ฑฐ๋ก ๋น ๊พธ ๊ฐ๋ฅ
- ๊ณผ๊ฑฐ ์์ ๋ด์ฉ ์ด๋ ๊ฐ๋ฅ
3. PC์ ๊น ๊น๋ ค์๋์ง ํ์ธํ๊ธฐ
1. Command + Space๋ก Spotlight ๊ฒ์์ฐฝ ๋์ฐ๊ธฐ
2. ์ ๋ ฅ์ฐฝ์ Terminal(ํฐ๋ฏธ๋) ์ ๋ ฅํ๊ณ ํฐ๋ฏธ๋.app ์คํ
3. ํฐ๋ฏธ๋์ git --version ์ ๋ ฅํ๋ฉด ์ค์น๋์ง ์์ ์ฌ๋์ ์ค์นํ ์ ์๋ ์ฐฝ์ด ๋จ๊ณ , ์ด๋ฏธ ์ค์น๋ ์ฌ๋์ ๊ฒฝ์ฐ ํ์ฌ ์ค์น๋ ๊น์ ๋ฒ์ ์ ๋ณด๊ฐ ํ๋ฉด์ ๋์ด
4. ๊น ์ค์นํ๊ธฐ(mac os)
1. homebrew ๊ฒ์ํด์ ์ค์น
2. ํฐ๋ฏธ๋์ -brew install git ์ ๋ ฅ
3. ๊ธฐ์กด ๋ธ๋์น ์ด๋ฆ main์ผ๋ก ๋ฐ๊พธ๊ธฐ
4. ๊ธฐ๋ณธ์๋ํฐ VSCode๋ก ๋ฐ๊พธ๊ธฐ
5. ์ด๋ฆ๋ฑ๋ก
์ค์นํ์ผ๋ฉด ํด๋ ํ๋ ๋ง๋ค๊ณ ๋ง์ฐ์ค ์ฐํด๋ฆญ
(๋ฐํํ๋ฉด์ ๋งฅ๋ถ์์ command + F3)
๋งฅ์ ํด๋์์ ์๋ก์ด ํฐ๋ฏธ๋ ์ด๊ธฐ
์๋์ฐ๋ PowerShell ์ฐฝ ์ด๊ธฐ
ํฐ๋ฏธ๋์ ์ด๋ฉ์ผ, ์ด๋ฆ ์ ๋ณด ์ ๋ ฅ
์ด๋ฆ์ ๊นํ๋ธ๋ ๋๊ฐ์ ์ด๋ฆ ์จ์ผ ํ๋ ๊ฑด ์๋๊ณ ๊ทธ๋ฅ ์ฌ๋๋ค์ด ๋๊ฐ ์ฝ๋ ์์ฑ์์ธ์ง ์์ ๋ณผ ์ ์๊ฒ ์ฐ๋ฉด ๋๋ค.
git config --global user.name "์ต๋ค์ธ@gmail.com"
git config --global user.email "์ต๋ค์ธ"
์ด๋ ๊ฒ ์ ๋ ฅํ์ผ๋ฉด ๋
๋ณ๋๋ก ์ ๋ ฅ์ ์ฑ๊ณตํ๋ค๋ ๋ฉ์ธ์ง๋ ์ ๋ฌ๋ค.
์ ๋ ฅํ ์ ๋ณด๊ฐ ์ ๋๋ก ์ ์ฅ๋์๋์ง ํ์ธํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ก ํ์ธ
git config --global user.name
git config --global user.email
์ด ๋ช ๋ น์ด๋ฅผ ์คํํ๋ฉด ๊ฐ๊ฐ ์ค์ ํ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ์ด ์ถ๋ ฅ๋๋ค.
์ต๋ค์ธ@gmail.com
์ต๋ค์ธ
ํน์ ์๋ ๋ช ๋ น์ด๋ก ๋ชจ๋ ๊น ์ค์ ์ ํ์ธ ํ ์ ์๋ค.
git config --list
์ฌ์ฉ์ ๋ฑ๋ก์ ์ฑ๊ณตํ๋ฉด ๋ด์ฉ์ ์ค์ ํ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ์ด ์ถ๋ ฅ๋๋ค.
6. VSCode์์ ํด๋น ํด๋ ์ด๊ณ ํฐ๋ฏธ๋์ ๋ฑ๋ก
VSCode์์ [ํด๋์ด๊ธฐ]๋ก ์์์ ์ง์ ํ ํด๋๋ฅผ ์ด์ด ์ค๋ค.
์๋จ๋ฐ์์ [ํฐ๋ฏธ๋] ํญ > [์ ํฐ๋ฏธ๋]
7. ํฐ๋ฏธ๋ ๋ช ๋ น์ด
1. git init
์์ ํด๋์์ git ์ฐ๊ณ ์ถ๋ค๋ฉด
VSCode ํ๋จ ํฐ๋ฏธ๋์ `git init` ๋ช ๋ น์ด ์ ๋ ฅ
git init
์ด์ ๋ถํฐ git์ด ํด๋น ํด๋์์ ํ๋ ์์ ๊ฐ์ํ๊ธฐ ์์. ๐
`git init`์ ์๋ก์ด Git ์ ์ฅ์๋ฅผ ์์ฑํ ๋ ํ ๋ฒ๋ง ์คํ ๐
2. git add ํ์ผ๋ช , git commit -m '๋ฉ๋ชจ
ํ์ฌ ํ์ผ ์ํ๋ฅผ ๊ธฐ๋กํด ๋๊ณ ์ถ๋ค๋ฉด (์ฝ๋ ์ ์ฅ ํ) ์ ๋ ๋ช ๋ น์ด๋ง ์ ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
git add ํ์ผ๋ช
git commit -m '๋ฉ๋ชจ'
git add๋ ๊ธฐ๋ก์ ๋จ๊ธฐ๊ณ ์ถ์ ํ์ผ์ ๊ณ ๋ฅด๋ ๋ช ๋ น์ด, commit์ ๊ธฐ๋ก ์ ์ฅ์๋ก ์ฎ๊ธฐ๋ ๋ช ๋ น์ด
3. git commit -am "๋ฉ๋ชจ"
์์ผ๋ก ์ฝ๋๋ฅผ ์์ ํ ๋๋ง๋ค `git add ํ์ผ๋ช `์ด๋ `git commit -m '๋ฉ๋ชจ'` ์ ๋ ๋ช ๋ น์ด๋ฅผ ๊ณ์ ์จ์ฃผ๋ฉด ๋๋ค.
์ฐธ๊ณ ๋ก git add ๋ commit ๋์์ ํ๋ ๋ช ๋ น์ด
git commit -am "์ปค๋ฐ ๋ฉ์์ง"
์ฝ๋ ํ ์ค์ ์ญ์ ํ๊ณ ๋ค๋ฅธ ํ ์ค์ ์ถ๊ฐํ๋๊น ํฐ๋ฏธ๋์ 1 insertion(+), 1 deletion(-)์ด๋ผ๊ณ ๋ณ๊ฒฝ ๋ด์ญ์ด ์ถ๋ ฅ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
4. ์ฌ๋ฌ๊ฐ์ ํ์ผ ํ๋ฒ์ ์ปค๋ฐํ๊ธฐ
์์ ํด๋์ ์๋ ๋ชจ๋ ํ์ผ ์คํ ์ด์ง
git add .
์์ ํด๋์ ์๋ ํ์ผ1, ํ์ผ2๋ง ์คํ ์ด์ง
git add ํ์ผ1 ํ์ผ2
git add app.txt app2.txt // ์์
5. git status
์ํ์ฐฝ ์ด๊ธฐ
ํ์ฌ ๋ด๊ฐ ์ด๋ค ํ์ผ์ ์คํ ์ด์ง ํด ๋จ๋์ง, ์ด๋ค ํ์ผ์ด ์์ ์ด ๋๋์ง ํ์ธํ ๋ ์ฐ๋ ๋ช ๋ น์ด
git status
6. git log
์ปค๋ฐํ ๋ด์ญ๋ค(๋ก๊ทธ) ํ์ธ
git log
commit์ ์์ฃผ ํ ํ์ ์๊ณ ๊ฐ๋จํ ๊ธฐ๋ฅ ํ๋ ์์ฑํ์ ๋ ํ๋ ๊ฒ ์ข๋ค.
๋ด๊ฐ ์นํ๋ก์ ํธ ํ ๋๋ ํ์๋ค๋ผ๋ฆฌ ํ๋ฃจ์ ํ ๋ฒ ์คํ 6์์ ์ปค๋ฐ ํ๊ธฐ๋ก ํ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ค์๋ ์์นจ์ ๋ค ๊ฐ์ด ๋ธ๋์น์์ ๊ทธ ์ ๋ ํ๋ ์์ ๋ฌผ์ ๋ถ๋ฌ์์ ๋ค์ ์ฝ๋ ์์ ์ ์์ ํ๋ค.