Skip to content

Latest commit

ย 

History

History
80 lines (70 loc) ยท 6.88 KB

File metadata and controls

80 lines (70 loc) ยท 6.88 KB

์•Œ๊ณ ๋ฆฌ์ฆ˜ ์Šคํ„ฐ๋””

๋ฌธ์ œํ’€์ด ์‹ธ์ดํŠธ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค https://programmers.co.kr/
๋ฐฑ์ค€ https://www.acmicpc.net/
๋ฐฑ์ค€ ๋‚œ์ด๋„๋ณ„ https://solved.ac/problems/tags

๊ทœ์น™

  1. master ๋ธŒ๋žœ์น˜์— ์ง์ ‘ pushํ•˜์ง€ ๋ง๊ฒƒ
  2. ์ž๊ธฐ ์ด๋ฆ„์œผ๋กœ ๋œ ๋ธŒ๋žœ์น˜(ex. minkyu)๋ฅผ ํŒŒ์„œ pushํ•  ๊ฒƒ
  3. ๋ฌธ์ œ์˜ ํ’€์ด๋Š” ํ•ด๋‹น ๋ฌธ์ œ์˜ ์ถœ์ฒ˜, ๋ฌธ์ œ์ด๋ฆ„, ์ž‘์„ฑ์ž ์ด๋ฆ„์œผ๋กœ ๋œ ํด๋”๋ฅผ ๋งŒ๋“ค์–ด์„œ README.md ํŒŒ์ผ์— ์„ค๋ช…์„ ํ•จ๊ป˜ ์ˆ˜๋กํ•  ๊ฒƒ(์„ ํƒ) (ex. ์ข…๋งŒ๋ถ_Boggle_์ด๋ฏผ๊ทœ)
  4. ๊ฐ ๋ฌธ์ œ๋ฅผ ์˜ฌ๋ฆด ๋•Œ๋งˆ๋‹ค master ๋ธŒ๋žœ์น˜์— Pull Request ํ•˜๊ณ  comment/review ๋“ฑ์„ ํ†ตํ•ด ์„œ๋กœ์˜ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด๊ณ  ๋ฆฌ๋ทฐํ•˜๊ธฐ

git ๊ฐ„๋žต ์‚ฌ์šฉ ์„ค๋ช…์„œ

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

๋กœ์ปฌ์—์„œ ๊ฐœ์ธ branch ํŒŒ๊ธฐ

$ git switch -c ๋ธŒ๋žœ์น˜๋ช…
## ์œ„ ๋ช…๋ น์–ด๊ฐ€ ์•ˆ ๋จนํž ์‹œ ์•„๋ž˜ ๋ช…๋ น์–ด ์‚ฌ์šฉ
$ git checkout -b ๋ธŒ๋žœ์น˜๋ช…

git add

์ฒ˜์Œ ์–ด๋–ค ํŒŒ์ผ์„ ๋งŒ๋“ค์—ˆ์„ ๋•Œ, ํ•ด๋‹น ํŒŒ์ผ์€ git์˜ ๊ด€๋ฆฌ ํ•˜์— ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•ž์œผ๋กœ ์ด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๋ผ๊ณ  ๋ช…๋ น์„ ๋‚ด๋ ค์ค˜์•ผ ํ•˜๋Š”๋ฐ, ์ด๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ git add์ž…๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ์„ ๋•Œ์—๋„ ๋™์ผํ•œ ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•ด ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ git์—๊ฒŒ ์•Œ๋ ค์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.
(์ฐธ๊ณ ๋กœ ์–ด๋–ค ํŒŒ์ผ์ด ๊ด€๋ฆฌ ํ•˜์— ์žˆ๊ณ  ์–ด๋–ค ํŒŒ์ผ์ด ๊ด€๋ฆฌ ํ•˜์— ์—†๋Š”์ง€๋ฅผ ๋ณด๋ ค๋ฉด git status ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค!!)

## ํŠน์ • ํŒŒ์ผ์˜ ์ƒ์„ฑ์ด๋‚˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ, ์‚ญ์ œ๋ฅผ git์—๊ฒŒ ์•Œ๋ ค์ค„ ๋•Œ
$ git add ํŒŒ์ผ๋ช…
## ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ์ˆ˜์ •๋œ ๋ชจ๋“  ํŒŒ์ผ์„ ์ถ”์ ํ•  ๋•Œ
$ git add .
$ git add -A

๋ณดํ†ต git add .์ด๋‚˜ git add -A๋ฅผ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜์‹œ๊ณ , ํŠน์ • ํŒŒ์ผ๋งŒ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ์ถ”์ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋งŒ ์ฒซ๋ฒˆ์งธ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋‘๋ฒˆ์งธ, ์„ธ๋ฒˆ์งธ ๋ช…๋ น์–ด๋„ ์—„๋ฐ€ํžˆ๋Š” ๋ฌด์Šจ ์ฐจ์ด๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ๊นœ๋นกํ–ˆ๋„ค์š”... ์•„๋งˆ ๋‘˜ ์ค‘ ์–ด๋А ๊ฑธ ์‚ฌ์šฉํ•ด๋„ ๋ณ„ ์ง€์žฅ์€ ์—†์„ ๊ฒ๋‹ˆ๋‹ค.

git commit

์•ฑ์Šคํ† ์–ด๋‚˜ ํ”Œ๋ ˆ์ด์Šคํ† ์–ด์—์„œ ์•ฑ์„ ๋‹ค์šด ๋ฐ›์„ ๋•Œ, ํ•ด๋‹น ์•ฑ์˜ ๋ฒ„์ „์ด 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 push

์ง€๊ธˆ๊นŒ์ง€ ํ•œ ๋ชจ๋“  ์ž‘์—…๋“ค์€ ๋กœ์ปฌ์˜ git์—๋งŒ ๊ธฐ๋ก๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ด ๊ธฐ๋ก๋“ค์„ ์›๊ฒฉ์ €์žฅ์†Œ์— ์—…๋กœ๋“œํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜์ฃ . ์ด๊ฑด ์—„์ฒญ ๊ฐ„๋‹จํ•ด์š”! ๊ทธ๋ƒฅ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์“ฐ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

$ git push origin ๋ธŒ๋žœ์น˜๋ช…

์˜ˆ๋ฅผ ๋“ค์–ด ์ œ ๋กœ์ปฌ minkyu ๋ธŒ๋žœ์น˜์—์„œ ์›๊ฒฉ minkyu ๋ธŒ๋žœ์น˜๋กœ pushํ•˜๊ณ  ์‹ถ์„ ๋•Œ๋Š” git push origin minkyu๋ฅผ ์“ฐ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

gitignore

git add . ๋“ฑ์œผ๋กœ ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ๋™์‹œ์— ์ถ”๊ฐ€ํ•˜๊ณ ์‹ถ์€๋ฐ, ๋”ฑ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋งŒ ์ œ์™ธํ•˜๊ณ  ์‹ถ์„๋•Œ, ๊ทธ๋ฆฌ๊ณ  ๊ทธ ํŒŒ์ผ์€ ์•ž์œผ๋กœ๋„ addํ•  ์ผ์ด ์—†์„ ๋•Œ๋Š” ๋งค๋ฒˆ ๊ทธ ํŒŒ์ผ๋งŒ ์ œ์™ธํ•˜๊ณ  ๋‹ค๋ฅธ ํŒŒ์ผ๋“ค์„ ์ผ์ผ์ด addํ•˜๋Š” ๊ฑด ์—ฌ๊ฐ„ ๋ฒˆ๊ฑฐ๋กœ์šด ์ผ์ด ์•„๋‹ˆ๊ฒ ์ฃ ? ๊ทธ๋Ÿด ๋• .gitignore๋ผ๋Š” ํŒŒ์ผ์„ ๋งŒ๋“ค์–ด ๋†“์œผ๋ฉด ๊ฑฐ๊ธฐ์— ๊ธฐ๋ก๋˜์–ด์žˆ๋Š” ํŒŒ์ผ์€ ์•Œ์•„์„œ git์ด ๋ฌด์‹œํ•˜๊ณ  add๋ฅผ ํ•˜์ง€ ์•Š์œผ๋‹ˆ, ์•ˆ์‹ฌํ•˜๊ณ  git add .์„ ์‚ฌ์šฉํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.
ํ„ฐ๋ฏธ๋„์—์„œ ๋งŒ๋“œ๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ .gitignoreํŒŒ์ผ์„ ๋งŒ๋“  ๋’ค์—, ์ค„๋ฐ”๊ฟˆ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด๊ฐ€๋ฉฐ ๋ฌด์‹œํ•˜๊ณ  ์‹ถ์€ ํŒŒ์ผ๋ช…๋“ค์„ ๊ธฐ๋กํ•ด๋ณด์„ธ์š”.

$ echo ".gitignore" >> .gitignore

์œˆ๋„์šฐ์—์„œ๋Š” ์ข€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ œ๊ฐ€ ์œˆ๋„์šฐ๋ฅผ ์•ˆ ์จ์„œ ์ •ํ™•ํžˆ๋Š” ๋ชจ๋ฅด๊ฒ ๋„ค์š” ใ… ใ…  ์œˆ๋„์šฐ ์“ฐ์‹œ๋Š” ๋ถ„๋“ค์€ ํ•œ ๋ฒˆ ๊ตฌ๊ธ€๋ง ํ•ด๋ณด์„ธ์š”!