๐Ÿ—„๏ธ git

๐Ÿ—„๏ธ git

[git] 13 - GitHub Pull Request ์ž‘์„ฑ

์ด์ „์— push ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ GitHub์— ๋กœ์ปฌ ์ปค๋ฐ‹ ๋‚ด์šฉ์„ ์—…๋กœ๋“œํ•˜๋Š” ๊ฒƒ์„ ์„ค๋ช…ํ–ˆ์—ˆ๋Š”๋ฐ, ๋‚˜์ค‘์— ํ˜‘์—…์„ ํ•˜๊ฒŒ ๋˜๋ฉด ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” ์•„๋ฌด๋‚˜ ์“ธ์ˆ˜ ์—†์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ push ๊ถŒํ•œ์„ ๊ฐ–๊ณ  ์žˆ๋Š” ๋‹ด๋‹น์ž(owner)์—๊ฒŒ ๋‚ด๊ฐ€ ์ด๋Ÿฌ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ํ–ˆ๋Š”๋ฐ ๋ฐ˜์˜ํ•ด์ฃผ์„ธ์š”. ํ•˜๊ณ  ์š”์ฒญ์„ ํ•˜์—ฌ ํ˜‘์—…์ด ์ด๋ฃจ์–ด์ง„๋‹ค. ์š”์•ฝ ์ž‘์—…ํ•˜๋ ค๋Š” Repository fork ๋กœ์ปฌ ์ €์žฅ์†Œ๋กœ clone branch ์ƒ์„ฑ ๋ฐ ์ž‘์—… ํ•ด๋‹น ์ž‘์—… commit forkํ•œ Repository์— push pull request ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ ๋จผ์ € GitHub์— ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋‚ด ๊ณ„์ •์œผ๋กœ ํฌํฌํ•˜๋Š” ๊ณผ์ •์ด ํ•„์š”ํ•˜๋‹ค Fork๋ž€? ํƒ€์ธ์˜ ์ €์žฅ์†Œ๋ฅผ ๋‚ด ์ €์žฅ์†Œ๋กœ ๋ณต์‚ฌํ•ด์˜ค๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๋ ค๋Š” ํ”„๋กœ์ ํŠธ์— ๋“ค์–ด๊ฐ€๋ฉด ์šฐ์ธก์— Fork ๋ฒ„ํŠผ์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค. ํ•ด๋‹น..

๐Ÿ—„๏ธ git

[git] 12 - GitHub์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ ๋‚ด๋ ค๋ฐ›๊ธฐ2 (pull)

์ด์ „๊ธ€์—์„œ fetch๋ฅผ ์„ค๋ช…ํ–ˆ๋Š”๋ฐ fetch ๋ช…๋ น์–ด๋Š” ์ปค๋ฐ‹์„ ๋‚ด๋ ค๋ฐ›๊ธฐ๋งŒ ํ•  ๋ฟ, ๋กœ์ปฌ์— ๋ฐ˜์˜๋˜์ง€ ์•Š๊ณ  FETCH_HEAD๋ผ๋Š” ์•ฝ์†๋œ ๋ธŒ๋žœ์น˜์— ๋‚ด๋ ค๋ฐ›๋Š”๋‹ค๊ณ  ํ–ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ๋‚ด๋ ค๋ฐ›๊ณ  ๋กœ์ปฌ์— merge๊นŒ์ง€ ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด๋ฅผ ์•Œ์•„๋ณด์ž. pull ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” ์œ„์—์„œ ์„ค๋ช…ํ•œ ๊ฒƒ ์ฒ˜๋Ÿผ ๋‚ด๋ ค๋ฐ›๊ณ  merge๊นŒ์ง€ ํ•ด์ฃผ๋Š” ๋ช…๋ น์–ด๋‹ค. git pull ์ด์ „๊ธ€๊ณผ ๋˜‘๊ฐ™์ด GitHub ํ™ˆํŽ˜์ด์ง€์—์„œ ์ง์ ‘ ์ปค๋ฐ‹์„ ํ•˜๋‚˜ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ์œ„์˜ ์ปค๋ฐ‹์„ ๋‚ด ๋กœ์ปฌ์— ๋‚ด๋ ค๋ฐ›๊ณ  ๋ฐ˜์˜ํ•ด๋ณด๋„๋ก ํ•˜์ž. ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด pull ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜๋ฉด ๋‚ด๋ ค๋ฐ›๊ณ  ๋ณ‘ํ•ฉ๊นŒ์ง€ ๋œ๋‹ค. pull = fetch + merge

๐Ÿ—„๏ธ git

[git] 11 - GitHub์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ ๋‚ด๋ ค๋ฐ›๊ธฐ (fetch)

๋งŒ์•ฝ์— GitHub์—์„œ ๋‚ด๋ ค๋ฐ›์€ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋‚ด ๋กœ์ปฌ์—์„œ๋Š” ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜๋Š”๋ฐ, ๋‹ค๋ฅธ ์‚ฌ๋žŒ์ด GitHub์— ์ปค๋ฐ‹์„ ํ–ˆ๋‹ค๋ฉด ํ•ด๋‹น ์ปค๋ฐ‹์„ ๋‚ด ๋กœ์ปฌ์— ๊ฐ€์ ธ์™€์•ผ๋  ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ๊ฒƒ์ด๋‹ค. fetch ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” GitHub์— ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ์ปค๋ฐ‹์„ ๋‚ด ๋กœ์ปฌ์— ๋ณ‘ํ•ฉํ•˜์ง€ ์•Š๊ณ  ๋‚ด๋ ค๋ฐ›๊ธฐ๋งŒ ํ•˜๋Š” ๋ช…๋ น์–ด๋‹ค. git fetch GitHub ํ™ˆํŽ˜์ด์ง€์—์„œ ์ง์ ‘ test.txt๋ผ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ ์ปค๋ฐ‹์„ ๋งŒ๋“ค์—ˆ๊ณ , ํ•ด๋‹น ์ปค๋ฐ‹์„ ๋‚ด๋ ค๋ฐ›๋Š” ๊ฒƒ์„ ์ง์ ‘ ํ•ด๋ณด์ž. ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ํ™ˆํŽ˜์ด์ง€์—์„œ ์ง์ ‘ ์ปค๋ฐ‹์„ ํ•œ ๊ฐœ ์ƒ์„ฑํ–ˆ๋‹ค. ํ„ฐ๋ฏธ๋„์—์„œ log๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด ์ด์ „๊ธ€์—์„œ ํ–ˆ๋˜ "delete 1008 folder" ๊ฐ€ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์ผ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  GitHub๋Š” "Create test.txt in github" ๋ผ๋Š” ์ปค๋ฐ‹์ด ์ถ”๊ฐ€๋˜์–ด์„œ ํ•œ ๋‹จ๊ณ„ ์•ž์„œ ์žˆ๋‹ค..

๐Ÿ—„๏ธ git

[git] 10 - GitHub์— ์—…๋กœ๋“œํ•˜๊ธฐ (push)

์ด์ „๊ธ€์—์„œ ๋‚ด๋ ค๋ฐ›์€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋กœ์ปฌ์—์„œ ์ž‘์—…ํ•œ ํ›„, GitHub์— ์ž‘์—…๋‚ด์šฉ์„ ๋ฐ˜์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. push ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” ๋กœ์ปฌ์—์„œ ์ปค๋ฐ‹ํ•œ ๊ฒƒ์„ GitHub์— ๋ฐ˜์˜ํ•˜๋Š” ๋ช…๋ น์–ด๋‹ค. git push git push -u //์ตœ์ดˆ์— ํ•œ๋ฒˆ๋งŒ ์ €์žฅ์†Œ๋ช…๊ณผ ๋ธŒ๋žœ์น˜๋ช…์„ ์ž…๋ ฅํ•˜๊ณ  ๊ทธ ์ดํ›„์—๋Š” git push๋งŒ ์ž…๋ ฅํ•ด๋„ ๋จ ์˜ˆ์ œ๋กœ ์–ด๋–ป๊ฒŒ push๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž. ๋‚˜๋Š” del/1008 ์ด๋ผ๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ๋งŒ๋“ค์–ด์„œ ํ•ด๋‹น ๋ธŒ๋žœ์น˜์—์„œ 1008 A/B ๋ผ๋Š” ํด๋”๋ฅผ ์‚ญ์ œํ•˜๊ณ  GitHub์— ๋ฐ˜์˜ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ์šฐ์„  ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด 'del/1008' ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋ฅผ ์ฒดํฌ์•„์›ƒํ–ˆ๋‹ค. ๊ทธ ๋‹ค์Œ, 1008 ํด๋”๋ฅผ ์‚ญ์ œํ•˜๊ณ  "delete 1008 folder" ๋ผ๋Š” ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋กœ ์ปค๋ฐ‹๊นŒ์ง€ ์™„๋ฃŒํ–ˆ๋‹ค. ์ปค๋ฐ‹๊นŒ์ง€ ์™„๋ฃŒํ–ˆ์œผ..

๐Ÿ—„๏ธ git

[git] 09 - GitHub์— ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ๋‚ด๋ ค๋ฐ›๊ธฐ (clone)

2023.03.27 - [git] - [git] GitHub ์—ฐ๋™ (MacOS) GitHub์— ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋‚ด ๋กœ์ปฌ PC๋กœ ๋‚ด๋ ค๋ฐ›์•„๋ณด์ž ์šฐ์„  ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด GitHub์—์„œ ๋‚ด๋ ค๋ฐ›์„ ํ”„๋กœ์ ํŠธ๋ฅผ ๋“ค์–ด๊ฐ€์„œ ์ดˆ๋ก์ƒ‰ Code ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค. ํด๋ฆญํ•˜๋ฉด ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ํŒ์—…์ฐฝ์ด ๋œฐํ…๋ฐ ์—ฌ๊ธฐ์„œ SSH๋ฅผ ํด๋ฆญํ•ด์„œ ๋ณต์‚ฌํ•ด์ค€๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด์ „๊ธ€์—์„œ SSH ์—ฐ๋™์„ ํ•ด์คฌ๊ธฐ ๋•Œ๋ฌธ์— SSH๋ฅผ ์ด์šฉํ•˜์—ฌ ๋‚ด๋ ค๋ฐ›์„ ๊ฒƒ์ด๋‹ค. (๊ธ€ ์ƒ๋‹จ์— ์žˆ๋Š” ์ด์ „๊ธ€ ์ฐธ๊ณ ) clone ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” GitGub์— ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋‚ด PC๋กœ ๋‚ด๋ ค๋ฐ›๋Š” ๋ช…๋ น์–ด๋‹ค. git clone ๋‚ด๋ ค๋ฐ›์„ ์œ„์น˜๋กœ ์ด๋™ํ•ด์„œ ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. ๋‚ด๋ ค๋ฐ›์€ ํ›„ ls ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ•ด๋‹น ํ”„๋กœ์ ํŠธ ํด๋”๊ฐ€ ์ƒ๊ฒผ์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ฃผ์˜ํ•  ์ ์ด ์žˆ๋Š”๋ฐ ์•„๋ž˜..

๐Ÿ—„๏ธ git

[git] GitHub ์—ฐ๋™ (MacOS)

์•ž์œผ๋กœ ๋‚ด PC์—์„œ ์ž‘์—…ํ•œ ๊ฒƒ๋“ค์„ GitHub์— ์—…๋กœ๋“œํ•˜๊ฑฐ๋‚˜ GitHub์— ์žˆ๋Š” ๊ฒƒ์„ ๋‚ด๋ ค๋ฐ›๊ธฐ ์œ„ํ•ด์„œ GitHub๋ฅผ ์ด์ œ ๋งจ๋‚  ์ด์šฉํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๋‚ด PC์—์„œ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” git๊ณผ GitHub๋ฅผ SSH๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณธ ๊ฒŒ์‹œ๊ธ€์—์„œ ์ •๋ฆฌํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ssh ๊ธฐ๋ณธํ‚ค/๊ณต๊ฐœํ‚ค ๋ฐœ๊ธ‰ ์šฐ์„  ํ„ฐ๋ฏธ๋„์„ ์—ด๊ณ  ์•„๋ž˜์— ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. ssh-keygen ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” ssh ์ ‘์†์„ ํ•  ๋•Œ ํ•„์š”ํ•œ ๊ธฐ๋ณธํ‚ค/๊ณต๊ฐœํ‚ค๋ฅผ ๋ฐœ๊ธ‰๋ฐ›๋Š” ๋ช…๋ น์–ด๋‹ค. ์ž…๋ ฅํ•˜๋ฉด ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด /Users/seonghye0n~ ๋ผ๋Š” ๊ฒฝ๋กœ์— ํ‚ค๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์„ ๊ฒƒ์ด๋ƒ๊ณ  ๋ฌผ์–ด๋ณด๋Š”๋ฐ, ๋‚˜๋Š” ํ•ด๋‹น ๊ฒฝ๋กœ ๊ทธ๋Œ€๋กœ ์“ธ๊ฑฐ๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ƒฅ ์—”ํ„ฐ๋ฅผ ์ณค๋‹ค. ๋ฐœ๊ธ‰์ด ๋๋‹ค๋ฉด ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ๋ฐœ๊ธ‰ ๋ฐ›์€ ๊ฒฝ๋กœ์— ์žˆ๋Š” id_rsa.pub ํŒŒ์ผ์„ cat ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์—ด..

๐Ÿ—„๏ธ git

[git] 08 - ๋ธŒ๋žœ์น˜ ๋ณ‘ํ•ฉ (merge)

2023.03.27 - [git] - [git] 07 - ๋ธŒ๋žœ์น˜๋ž€? (branch) ์•ž์„  ๊ธ€์—์„œ main ๋ธŒ๋žœ์น˜์™€ foo ๋ธŒ๋žœ์น˜๋ฅผ ์ž‘์—…ํ–ˆ๋Š”๋ฐ foo ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ•œ ๊ฒƒ์„ main ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ๋ ๊นŒ? ํ˜„์žฌ ์ปค๋ฐ‹์€ ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™๋‹ค. ์ด์ œ 'foo' ๋ธŒ๋žœ์น˜์—์„œ ์ž‘์—…ํ–ˆ๋˜ ์ปค๋ฐ‹๋“ค์„ main ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉํ•ด๋ณด๋„๋ก ํ•˜์ž merge ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” ๋ธŒ๋žœ์น˜๋ฅผ ๋ณ‘ํ•ฉํ•˜๋Š” ๋ช…๋ น์–ด๋‹ค. git merge ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์“ธ ๋•Œ ์ฃผ์˜ํ•  ์ ์€ 'foo' ๋ธŒ๋žœ์น˜์˜ ์ปค๋ฐ‹์„ main ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉํ•˜๋ ค๊ณ  ํ•˜๊ธฐ ๋•Œ๋ฌธ์— merge ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๊ธฐ ์ „์— main ๋ธŒ๋žœ์น˜๋ฅผ ์ฒดํฌ์•„์›ƒ ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์•„๋ž˜์˜ ์‚ฌ์ง„๊ณผ ๊ฐ™์ด main ๋ธŒ๋žœ์น˜๋ฅผ ์ฒดํฌ์•„์›ƒ ํ•œ ๋’ค, merge ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ–ˆ๋‹ค. merge๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ๋๋‹ค๋ฉด ์•„๋ž˜์˜ ..

๐Ÿ—„๏ธ git

[git] 07 - ๋ธŒ๋žœ์น˜๋ž€? (branch)

์•ž์„œ ์„ค๋ช…ํ–ˆ๋˜ ๊ฒƒ๋“ค์€ ๋‹จ์ˆœํžˆ ๋ช…๋ น์–ด์— ๋Œ€ํ•ด์„œ๋งŒ ์„ค๋ช…์„ ํ–ˆ๊ณ , ๋ณธ๊ฒฉ์ ์œผ๋กœ git์„ ์“ฐ๋ ค๋ฉด ๋ธŒ๋žœ์น˜๋ผ๋Š” ๊ฒƒ์„ ์ดํ•ดํ•ด์•ผ ํ•˜๋Š”๊ฒŒ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ๋ธŒ๋žœ์น˜(branch)๋ž€? ๋ธŒ๋žœ์น˜๋Š” ๋ฒ„์ „์˜ ๋ถ„๊ธฐ๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฒ„์ „์˜ ํ๋ฆ„์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋ผ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋งŒ์•ฝ ๋ธŒ๋žœ์น˜๊ฐ€ ์—†๋‹ค๋ฉด ์–ด๋–ค ๋‹จ์ ์ด ์žˆ์„๊นŒ? ์˜ˆ๋ฅผ ๋“ค์–ด, ์‡ผํ•‘๋ชฐ์„ ๋งŒ๋“ค๊ณ  ์žˆ๋Š”๋ฐ A ๊ฐœ๋ฐœ์ž๋Š” ์ฃผ๋ฌธ ๋ชฉ๋ก ์กฐํšŒ ๊ธฐ๋Šฅ์„ ์ž‘์—…ํ•˜๊ณ  ์žˆ๊ณ , B ๊ฐœ๋ฐœ์ž๋Š” ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ธฐ๋Šฅ์„ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ๊ทธ๋Ÿผ A๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์—…ํ•œ ๋‚ด์šฉ๊ณผ B๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์—…ํ•œ ๋‚ด์šฉ์„ ์ผ์ผ์ด ๋Œ€์กฐํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ํ•ฉ์ณ์•ผ ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ฉ์น˜๋Š” ๊ณผ์ •์—์„œ๋„ ์‹ค์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”๋ณด๊ธฐ ์‹ค์ œ๋กœ ์ „ํšŒ์‚ฌ์—์„œ๋Š” TFS๋กœ ๋ฒ„์ „๊ด€๋ฆฌ๋ฅผ ํ–ˆ๋Š”๋ฐ... TFS๋Š” ๋ˆ„๊ฐ€ ์–ด๋–ค ์ฝ”๋“œ๋ฅผ ์ž‘์—…์ค‘์ด๋ฉด ๊ทธ ํŒŒ์ผ์€ ๋‹ค๋ฅธ ..

seonghye0n
'๐Ÿ—„๏ธ git' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก