ํ๋ก๊ทธ๋๋จธ์ค https://programmers.co.kr/
๋ฐฑ์ค https://www.acmicpc.net/
๋ฐฑ์ค ๋์ด๋๋ณ https://solved.ac/problems/tags
master๋ธ๋์น์ ์ง์ pushํ์ง ๋ง๊ฒ- ์๊ธฐ ์ด๋ฆ์ผ๋ก ๋ ๋ธ๋์น(ex. minkyu)๋ฅผ ํ์ pushํ ๊ฒ
- ๋ฌธ์ ์ ํ์ด๋ ํด๋น ๋ฌธ์ ์ ์ถ์ฒ, ๋ฌธ์ ์ด๋ฆ, ์์ฑ์ ์ด๋ฆ์ผ๋ก ๋ ํด๋๋ฅผ ๋ง๋ค์ด์ README.md ํ์ผ์ ์ค๋ช ์ ํจ๊ป ์๋กํ ๊ฒ(์ ํ) (ex. ์ข ๋ง๋ถ_Boggle_์ด๋ฏผ๊ท)
- ๊ฐ ๋ฌธ์ ๋ฅผ ์ฌ๋ฆด ๋๋ง๋ค
master๋ธ๋์น์ Pull Request ํ๊ณ comment/review ๋ฑ์ ํตํด ์๋ก์ ์ฝ๋๋ฅผ ์ดํด๋ณด๊ณ ๋ฆฌ๋ทฐํ๊ธฐ
Git์ด๋?? ์ฝ๋์ ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ํ๊ณ ๊ด๋ฆฌ๋ฅผ ์ฉ์ดํ๊ฒ ํด์ฃผ๋ ๋ถ์ฐ๋ฒ์ ๊ด๋ฆฌ์์คํ ์ ๋๋ค. ๋ค๋ค ๊ณผ์ ์์ ๋ฐํ์๋ฃ๋ฅผ ๋ง๋ค๊ฑฐ๋ ํ ๋,
์ ๊ณต๋ฐํ.pptx
์ ๊ณต๋ฐํ ์ต์ข .pptx
์ ๊ณต๋ฐํ ์ง์ง ์ต์ข .pptx
์ ๊ณต๋ฐํ ์ฐ์ฐ์ฐ ์ต์ข .pptx
์ฒ๋ผ, ๋์ผํ ํ์ผ์ ์
๋ฐ์ดํธํจ์ ๋ฐ๋ผ ๊ธฐ์กด ๋ด์ฉ๋ ํน์ ๋ชฐ๋ผ ๋ณด๊ดํ๊ณ ์ถ์ ๋ ์ด๋ ๊ฒ ์ค๊ตฌ๋๋ฐฉ์ผ๋ก ์ด๋ฆ์ ์ง์ด๋ณธ ์ ์์ผ์์ฃ ??
์ด๋ ๊ณผ๊ฑฐ์ ์ฝ๋๋ฅผ ์จ๊ฒจ์ ์ปดํจํฐ๊ฐ ์์์ ๊ด๋ฆฌํ๊ณ ์ฐ๋ฆฌ๊ฐ ํ์ํ ๋ ๋ถ๋ฌ๋ผ ์๋ ์์ผ๋ฉฐ, ํ์๋ผ๋ฆฌ ๋์ผํ ํ์ผ์ ์์ ํ ๋ ํด๋น ํ์ผ์ ๋ณํฉ์ ์์ฝ๊ฒ ๋์์ฃผ๋ ๋๊ตฌ๊ฐ ๋ฐ๋ก git์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
๋ณดํต ๋ก์ปฌ์์ git์ผ๋ก ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์์ํ ๋๋ git init์ด๋ผ๋ ๋ช
๋ น์ด๋ก ํด๋น ํด๋์์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์์ํ๊ฒ ๋ค๊ณ ์ปดํจํฐ์ ์๋ฆฌ๋ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ๋๋ฐ, ์ง๊ธ์ ์ด๋ฏธ git์ผ๋ก ๊ด๋ฆฌ๊ฐ ๋๊ณ ์๋ ์๊ฒฉ ์ ์ฅ์๋ฅผ ๋ก์ปฌ๋ก ๋ถ๋ฌ์ค๊ธฐ๋ง ํ๋ฉด ๋ผ์!
git --version ๋ช
๋ น์ด๋ฅผ ํฐ๋ฏธ๋์ด๋ cmd์ ์
๋ ฅํ๋ฉด ํ์ฌ ๊น๋ ค์๋ git์ ๋ฒ์ ์ ์ ์ ์๋๋ฐ, ์๋ฌด ๊ฒ๋ ์ ๋์ค๋ ๋ถ๋ค์ git์ ๊น๋ ๊ฒ๋ถํฐ ์์ํ๋ฉด ๋ฉ๋๋ค. ๋งฅ์ ์ฐ์๋ ๋ถ๋ค์ ๊ธฐ๋ณธ์ผ๋ก git์ด ๊น๋ ค์์ํ
๋ ๋์ด๊ฐ๊ณ , ์๋์ฐ ์ฐ์๋ ๋ถ๋ค์ https://git-scm.com/downloads ์ฌ๊ธฐ์ git์ ๋ฐ์์ฃผ์ธ์. ์ ๋ ๊ทธ๋ฅ ํฐ๋ฏธ๋์์ ๊ธ์๋ก ์น๋ ๊ฒ ํธํ๋ฐ, ํฐ๋ฏธ๋์ด ์ต์ํ์ง ์์ผ์ ๋ถ๋ค์ ๊ทธ๋ฅ GUI ๋ฒ์ ์ ๋ค์ด๋ฐ์ผ์
๋ ๋ฉ๋๋ค!
$ cd "์๊ฒฉ ์ ์ฅ์๋ฅผ ๋ถ๋ฌ์ฌ ํด๋๋ช
"
$ git clone https://github.com/minkyu97/algorithm_study.git$ git switch -c ๋ธ๋์น๋ช
## ์ ๋ช
๋ น์ด๊ฐ ์ ๋จนํ ์ ์๋ ๋ช
๋ น์ด ์ฌ์ฉ
$ git checkout -b ๋ธ๋์น๋ช
์ฒ์ ์ด๋ค ํ์ผ์ ๋ง๋ค์์ ๋, ํด๋น ํ์ผ์ git์ ๊ด๋ฆฌ ํ์ ์์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์์ผ๋ก ์ด ํ์ผ์ ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ํ๋ผ๊ณ ๋ช
๋ น์ ๋ด๋ ค์ค์ผ ํ๋๋ฐ, ์ด๋ ์ฌ์ฉํ๋ ๊ฒ git add์
๋๋ค. ํ์ผ์ ์์ ํ์ ๋์๋ ๋์ผํ ๋ช
๋ น์ด๋ฅผ ์ด์ฉํด ๋ณ๊ฒฝ์ฌํญ์ git์๊ฒ ์๋ ค์ค์ผ ํฉ๋๋ค.
(์ฐธ๊ณ ๋ก ์ด๋ค ํ์ผ์ด ๊ด๋ฆฌ ํ์ ์๊ณ ์ด๋ค ํ์ผ์ด ๊ด๋ฆฌ ํ์ ์๋์ง๋ฅผ ๋ณด๋ ค๋ฉด git status ๋ช
๋ น์ด๋ฅผ ์ด์ฉํ๋ฉด ๋ฉ๋๋ค!!)
## ํน์ ํ์ผ์ ์์ฑ์ด๋ ๋ณ๊ฒฝ์ฌํญ, ์ญ์ ๋ฅผ git์๊ฒ ์๋ ค์ค ๋
$ git add ํ์ผ๋ช
## ์ถ๊ฐ๋๊ฑฐ๋ ์์ ๋ ๋ชจ๋ ํ์ผ์ ์ถ์ ํ ๋
$ git add .
$ git add -A๋ณดํต git add .์ด๋ git add -A๋ฅผ ์ฃผ๋ก ์ฌ์ฉํ์๊ณ , ํน์ ํ์ผ๋ง ๋ณ๊ฒฝ์ฌํญ์ ์ถ์ ํ๊ณ ์ถ์ ๋๋ง ์ฒซ๋ฒ์งธ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค. ๋๋ฒ์งธ, ์ธ๋ฒ์งธ ๋ช
๋ น์ด๋ ์๋ฐํ๋ ๋ฌด์จ ์ฐจ์ด๊ฐ ์์๋๋ฐ ๊น๋นกํ๋ค์... ์๋ง ๋ ์ค ์ด๋ ๊ฑธ ์ฌ์ฉํด๋ ๋ณ ์ง์ฅ์ ์์ ๊ฒ๋๋ค.
์ฑ์คํ ์ด๋ ํ๋ ์ด์คํ ์ด์์ ์ฑ์ ๋ค์ด ๋ฐ์ ๋, ํด๋น ์ฑ์ ๋ฒ์ ์ด 1.0.7 ๋ฑ์ผ๋ก ํ์๋์ด์๋ ๊ฑธ ๋ณด์ ์ ์์ผ์์ฃ ? ํด๋น ๋ฒ์ ์ ์ด์ ๋ฒ์ ๊ณผ ๋น๊ตํด์ ์ฌ๋ฌ ์ฐจ์ด๋ฅผ ๊ฐ์ง๊ณ ์์ ๊ฑฐ์์. ๊ทธ๋ฐ ์ฐจ์ด๋ค์ ๋ชจ์์ ์ ์ด์ ์ฑ์ ํ ๋ฒ ์
๋ฐ์ดํธ ์ํฌ ๋๊ฐ ๋๊ตฌ๋! ํ ๋ ๋ฒ์ ์ ์ฌ๋ฆฌ๋ ๊ฑฐ์ฃ .
git commit์ด ๋ฐ๋ก ๊ทธ๋ฐ ์ผ์ ์ํํ๋ ๋ช
๋ น์ด๋ผ๊ณ ๋ณผ ์ ์์ด์. git add ๋ช
๋ น์ด๋ก ์ฌ๋ฌ ํ์ผ์ ์์ ์ฌํญ์ ์ ์ฅํ๊ณ , ์ด์ ์ด๋ฌํ ํ์ผ๋ค์ ๋ณ๊ฒฝ์ฌํญ์ ํ๋์ ๋ฒ์ ์ผ๋ก ํ์ ํจ์ผ๋ก์จ ์ด ๋ฒ์ ์์ ์ด๋ค ๊ฑธ ๋ณ๊ฒฝํ๊ณ , ๋ง๋ค์ด์ก๋์ง๋ฅผ ํ์ธํ ์ ์๋ ๊ธฐ๋ก์ ๋ง๋ฆ๊ณผ ๋์์ ํน์ ์ดํ ๋ฒ์ ์์ ๋ฌธ์ ๊ฐ ์๊ฒจ์ ๊ณผ๊ฑฐ์ ๋ฒ์ ์ผ๋ก ๋์๊ฐ๊ณ ์ถ์ ๋, ํด๋น ๋ฒ์ ์ผ๋ก ๋์๊ฐ ์ ์๋ ์ด์ ํ๋ฅผ ๋จ๊ฒจ๋๋ ์์
์ด์ฃ .
๋ค๋ง, ๋ฒ์ ์ ์
๋ฐ์ดํธํ ๋๋ ์ด ๋ฒ์ ์์ ๋ญ ์์ ํ๋์ง ๊ผญ ์ฌ๋์ด ์ฝ์ ์ ์๋ ๊ธฐ๋ก์ผ๋ก ๋จ๊ฒจ์ค์ผ ๋ผ์. ์ด๊ฑธ commit message ๋ผ๊ณ ๋ถ๋ฆ
๋๋ค.
## add ๋์ด์๋ ๋ชจ๋ ํ์ผ์ ๋ณ๊ฒฝ์ฌํญ์ ํ์ ํ ๋
$ git commit
## ๋ฒ์ ์ ๋ณ๊ฒฝ์ฌํญ์ ๊ธฐ๋กํจ๊ณผ ๋์์ ๋ณ๊ฒฝ์ฌํญ์ ํ์ ํ ๋
$ git commit -m "์ปค๋ฐ ๋ฉ์ธ์ง"
## ๋ชจ๋ ํ์ผ์ ๋ณ๊ฒฝ์ฌํญ add์ commit์ ๋์์ ํ๊ณ ์ถ์ ๋(์๋ก ๋ง๋ ํ์ผ์ ํฌํจ์ด ์ ๋ผ์)
$ git commit -am "์ปค๋ฐ ๋ฉ์ธ์ง"์ฐธ๊ณ ๋ก ์ฒซ๋ฒ์งธ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํฐ๋ฏธ๋ ํ ์คํธ ํธ์ง๊ธฐ์ธ vi๊ฐ ์๋์ผ๋ก ์ผ์ง๊ณ , ๊ฑฐ๊ธฐ์ ๋ฒ์ ์ ๋ณ๊ฒฝ์ฌํญ์ ๊ธฐ๋กํ ๋ค ์ ์ฅํด์ผ ํ๋๋ฐ, vi๊ฐ ์ต์ํ์ง ์์ ๋ถ๋ค์ 2๋ฒ์งธ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ์ธ์. ๊ฐ์ธ์ ์ผ๋ก vi ์ฌ์ฉ๋ฒ์ด ์ด๋ ต์ง ์์ผ๋ ์ด ์ฐธ์ ์์๋ฌ๋ ์ข์ ๊ฒ ๊ฐ๋ค๊ณ ์๊ฐํฉ๋๋ค!..
์ง๊ธ๊น์ง ํ ๋ชจ๋ ์์ ๋ค์ ๋ก์ปฌ์ git์๋ง ๊ธฐ๋ก๋์ด์์ต๋๋ค. ์ด์ ์ด ๊ธฐ๋ก๋ค์ ์๊ฒฉ์ ์ฅ์์ ์ ๋ก๋ํ๋ ์์ ์ด ํ์ํ์ฃ . ์ด๊ฑด ์์ฒญ ๊ฐ๋จํด์! ๊ทธ๋ฅ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฐ์๋ฉด ๋ฉ๋๋ค.
$ git push origin ๋ธ๋์น๋ช
์๋ฅผ ๋ค์ด ์ ๋ก์ปฌ minkyu ๋ธ๋์น์์ ์๊ฒฉ minkyu ๋ธ๋์น๋ก pushํ๊ณ ์ถ์ ๋๋ git push origin minkyu๋ฅผ ์ฐ์๋ฉด ๋ฉ๋๋ค.
git add . ๋ฑ์ผ๋ก ์ฌ๋ฌ ํ์ผ์ ๋์์ ์ถ๊ฐํ๊ณ ์ถ์๋ฐ, ๋ฑ ํ๋์ ํ์ผ๋ง ์ ์ธํ๊ณ ์ถ์๋, ๊ทธ๋ฆฌ๊ณ ๊ทธ ํ์ผ์ ์์ผ๋ก๋ addํ ์ผ์ด ์์ ๋๋ ๋งค๋ฒ ๊ทธ ํ์ผ๋ง ์ ์ธํ๊ณ ๋ค๋ฅธ ํ์ผ๋ค์ ์ผ์ผ์ด addํ๋ ๊ฑด ์ฌ๊ฐ ๋ฒ๊ฑฐ๋ก์ด ์ผ์ด ์๋๊ฒ ์ฃ ? ๊ทธ๋ด ๋ .gitignore๋ผ๋ ํ์ผ์ ๋ง๋ค์ด ๋์ผ๋ฉด ๊ฑฐ๊ธฐ์ ๊ธฐ๋ก๋์ด์๋ ํ์ผ์ ์์์ git์ด ๋ฌด์ํ๊ณ add๋ฅผ ํ์ง ์์ผ๋, ์์ฌํ๊ณ git add .์ ์ฌ์ฉํ์๋ฉด ๋ฉ๋๋ค.
ํฐ๋ฏธ๋์์ ๋ง๋๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ด๋ฅผ ์ฌ์ฉํด์ .gitignoreํ์ผ์ ๋ง๋ ๋ค์, ์ค๋ฐ๊ฟ์ผ๋ก ๊ตฌ๋ถํด๊ฐ๋ฉฐ ๋ฌด์ํ๊ณ ์ถ์ ํ์ผ๋ช
๋ค์ ๊ธฐ๋กํด๋ณด์ธ์.
$ echo ".gitignore" >> .gitignore์๋์ฐ์์๋ ์ข ๋ค๋ฅผ ์ ์๋๋ฐ ์ ๊ฐ ์๋์ฐ๋ฅผ ์ ์จ์ ์ ํํ๋ ๋ชจ๋ฅด๊ฒ ๋ค์ ใ ใ ์๋์ฐ ์ฐ์๋ ๋ถ๋ค์ ํ ๋ฒ ๊ตฌ๊ธ๋ง ํด๋ณด์ธ์!