diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b459310 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +ignore.md diff --git a/README.md b/README.md index 8ce58dc..8058b3c 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Git-Study ### ๐Ÿ’ป ์‹คํ–‰ ํ™˜๊ฒฝ ์•ˆ๋‚ด ๊ณผ์ œ ํ™•์ธ๊ณผ ์ˆ˜ํ–‰, ์ธ์ฆ์€ ๋ชจ๋‘ CLI ํ™˜๊ฒฝ์—์„œ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค. -> ๋งฅ์˜ ๊ฒฝ์šฐ `Git_Study` ํด๋” ์œ„์—์„œ ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์‹  ํ›„ `์„œ๋น„์Šค` > `ํด๋”์—์„œ ์ƒˆ๋กœ์šด ํ„ฐ๋ฏธ๋„ ์—ด๊ธฐ`๋ฅผ ํด๋ฆญํ•˜์…”์„œ ํ„ฐ๋ฏธ๋„์„ ์‹คํ–‰ํ•ด์ฃผ์„ธ์š”! +> ๋งฅ์˜ ๊ฒฝ์šฐ `9th_UMC_Git_Workbook` ํด๋” ์œ„์—์„œ ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜์‹  ํ›„ `์„œ๋น„์Šค` > `ํด๋”์—์„œ ์ƒˆ๋กœ์šด ํ„ฐ๋ฏธ๋„ ์—ด๊ธฐ`๋ฅผ ํด๋ฆญํ•˜์…”์„œ ํ„ฐ๋ฏธ๋„์„ ์‹คํ–‰ํ•ด์ฃผ์„ธ์š”! > ์œˆ๋„์šฐ์˜ ๊ฒฝ์šฐ Git Bash๋ฅผ ์ด์šฉํ•ด ์ง„ํ–‰ํ•ด์ฃผ์„ธ์š”. diff --git a/week1.md b/week1.md new file mode 100644 index 0000000..bcd5123 --- /dev/null +++ b/week1.md @@ -0,0 +1,50 @@ +## Git ์ด๋ž€? +**ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ **ํ•˜๊ณ  **์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„์— ํ•ด๋‹น ํŒŒ์ผ๋“ค์˜ ์ž‘์—…๋“ค์„ ์กฐ์œจ**ํ•˜๊ธฐ ์œ„ํ•œ *๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ* +1. ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์  +์ •ํ™•ํžˆ ์–ธ์ œ ํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ๋Š”์ง€, ๊ทธ ๋•Œ ํŒŒ์ผ ๋‚ด์—์„œ ์–ด๋– ํ•œ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋Š”์ง€ ๊ธฐ๋กํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ์‹œ์ ์—์„œ ์ด์ „ ๋‚ด์šฉ์„ ์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ๊บผ๋‚ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ธฐ๋ก์€ ๋กœ๊ทธ ํ˜•์‹์œผ๋กœ ๊ด€๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ €์žฅํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. + +2. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„์— ํ•ด๋‹น ํŒŒ์ผ๋“ค์˜ ์ž‘์—…๋“ค์„ ์กฐ์œจ +Git์„ ์ด์šฉํ•  ๋•Œ๋Š” Github์™€ ๊ฐ™์€ ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ํ™œ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Github๋ฅผ ์ด์šฉํ•ด ํŒŒ์ผ ๋˜๋Š” ํด๋”๋ฅผ ๋‹ค์šด๋ฐ›์œผ๋ฉด ํ•ด๋‹น ํŒŒ์ผ(๋˜๋Š” ํด๋”)์˜ ๊ธฐ๋ก ๋˜ํ•œ ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ(๋กœ์ปฌ)์—์„œ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์™„์ „ํžˆ ๋™์ผํ•œ ์ž‘์—… ๋‚ด์šฉ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์›ํ™œํ•œ ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. + +3. ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ +์—ฌ๋Ÿฌ ๋ช…์ด ํ•œ ํŒŒ์ผ(๋˜๋Š” ํด๋”)์— ์ ‘๊ทผํ•ด ๊ฐœ๋ณ„์ ์œผ๋กœ ์ž‘์—…ํ•˜๊ณ , ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ก์œผ๋กœ์„œ ๋ฐ˜์˜ํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. + +## ๋‚ด ํŒŒ์ผ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• +1. ๋‚˜์˜ ์ž‘์—… ๊ณต๊ฐ„, **Working Directory** +๋‚ด๊ฐ€ ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„(ํด๋”)๋ฅผ ์›Œํ‚น ๋””๋ ‰ํ† ๋ฆฌ(working directory)๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. +๋ณดํ†ต ๋ณด์•ˆ ๋“ฑ์˜ ๋ฌธ์ œ๋กœ ์›๊ฒฉ ๋ ˆํฌ์— ์˜ฌ๋ผ๊ฐ€์ง€ ๋ชปํ•˜๋Š” ํŒŒ์ผ๋“ค์€ `.gitignore`๋ผ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ํ•ด๋‹น ํŒŒ์ผ๋“ค์„ ๋ชจ๋‘ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. `.gitignore`๋กœ ์ฒ˜๋ฆฌ๋œ ํŒŒ์ผ๋“ค์€ ๋ณ€ํ™”๊ฐ€ ์ƒ๊ฒจ๋„ ์ถ”์ ๋˜์ง€ ์•Š๊ณ , ์›๊ฒฉ ๋ ˆํฌ์—๋„ ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. + +2. ๋‚ด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๋Š” **Staging Area** +์„ ํƒ์ ์œผ๋กœ ํŒŒ์ผ์„ ์ปค๋ฐ‹ํ•˜๊ธฐ ์œ„ํ•ด `staged` ๋‹จ๊ณ„๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ `staged` ์ƒํƒœ๊ฐ€ ๋œ ํŒŒ์ผ๋“ค์„ `staging area`์— ์žˆ๋‹ค๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. + +3. ๋‚ด ์ž‘์—…์ด ๊ธฐ๋ก๋˜๋Š” ๊ณณ, **Local Repository** +commit์„ ํ†ตํ•ด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ธฐ๋กํ•˜๋Š” ๊ณณ์„ Local Repository๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. + +## Git์˜ ์‚ฌ์šฉ๋ฒ• +1. ์›๊ฒฉ ๋ ˆํฌ ์ƒ์„ฑํ•˜๊ณ  ๋กœ์ปฌ ๋ ˆํฌ์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ +2. .gitignore ๋กœ ํŒŒ์ผ ์ถ”์ ๋˜์ง€ ์•Š๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ +3. add, commit, push๋กœ ๋‚ด ํŒŒ์ผ ์ถ”์  ์ƒํƒœ ๊ด€๋ฆฌํ•˜๊ธฐ +4. ๋‚ด ํŒŒ์ผ ์ƒํƒœ ํ™•์ธํ•˜๊ธฐ + +## Branch๋ž€? +1. ๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ์˜์—ญ, **Branch** +2. ๋ธŒ๋žœ์น˜ ๋งŒ๋“ค๊ณ  ์ „ํ™˜ํ•˜๊ธฐ +3. ๋ธŒ๋žœ์น˜ mergeํ•˜๊ธฐ + +## ์ปค๋ฐ‹ ๊ธฐ๋ก ํ™•์ธ ๋ฐฉ๋ฒ• +1. git log ์กฐํšŒํ•˜๊ธฐ + - ์ปค๋ฐ‹ ๊ธฐ๋ณธ ๊ตฌ์„ฑ + - ์ปค๋ฐ‹ ํ•ด์‹œ: `commit 691ceb4268ec2c5b2d1afd79dd41f5783dcfac46` + - ์ปค๋ฐ‹ ์ƒ์„ฑ์ž: `youz2me ` + - ์ปค๋ฐ‹ ์ผ์‹œ: `Sun Sep 22 18:34:03 2024 +0900` + - ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€: `fix: validate ๋ช…๋ น์–ด ํŒŒ๋ผ๋ฏธํ„ฐ ์•ˆ๋“ค์–ด๊ฐ€๊ฒŒ ์ˆ˜์ •` + +2. ๋‚ด ๋ธŒ๋žœ์น˜์˜ ๊ฐ€์žฅ ์ตœ์‹  ์ฃผ์†Œ, HEAD +๋ชจ๋“  ๋ธŒ๋žœ์น˜์—๋Š” HEAD๋ผ๋Š” ๊ฐ’์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. HEAD๋Š” ํ˜„์žฌ ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ฐ’์œผ๋กœ, ํ˜„์žฌ ๋‚ด๊ฐ€ ์œ„์น˜ํ•˜๊ณ  ์žˆ๋Š” ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹์„ ํฌ์ธํ„ฐ๋กœ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +## Issue์™€ PR์˜ ์ฐจ์ด, ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ๋ฒ• +1. ๋‚˜์˜ ์ž‘์€ ๋ชฉํ‘œ๋ฅผ Issue๋กœ ์„ค์ •ํ•˜๊ธฐ +์ด์Šˆ๋Š” ํฌ๊ฒŒ *์ œ๋ชฉ๊ณผ ๋‚ด์šฉ, Assignees์™€ Labels, Projects, Milestone, Development*๋กœ ๋‚˜๋ˆ„์–ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +2. ๋‚ด ์ž‘์—…์„ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜ํ•  ๋•Œ๋Š”? Pull Request ์˜ฌ๋ฆฌ๊ธฐ +- git log : ์ปค๋ฐ‹ ํ•ด์‹œ์™€ ํ•จ๊ป˜ ์ปค๋ฐ‹ ์ผ์‹œ, ์ƒ์„ฑํ•œ ์‚ฌ๋žŒ์„ ๋ณด์—ฌ์ค€๋‹ค. \ No newline at end of file diff --git a/week1/.gitignore b/week1/.gitignore new file mode 100644 index 0000000..ce1b36c --- /dev/null +++ b/week1/.gitignore @@ -0,0 +1 @@ +ignore.md \ No newline at end of file diff --git a/week1/info.sh b/week1/info.sh index 07eec26..a8762de 100755 --- a/week1/info.sh +++ b/week1/info.sh @@ -1,11 +1,11 @@ -echo "===============================1์ฃผ์ฐจ ๊ณผ์ œ===============================" -echo "0. \"week1-(๋ณธ์ธ ๋‹‰๋„ค์ž„)\"์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜์‹  ํ›„ ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”! (e.g. week1-zimging)" -echo "1. week1.md ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”!" -echo "2. markdown ๋ฌธ๋ฒ•์„ ์ด์šฉํ•ด 1์ฃผ์ฐจ์— ๋ฐฐ์šด ๋‚ด์šฉ์„ week1.md ํŒŒ์ผ์— ์ •๋ฆฌํ•ด์ฃผ์„ธ์š”!" -echo "3. ignore.md ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ ๋’ค ์•„๋ฌด ๋‚ด์šฉ์ด๋‚˜ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!" -echo "4. gitignore ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ignore.md ํŒŒ์ผ์„ ์ถ”์  ํ•ด์ œํ•˜๋„๋ก ์„ค์ •ํ•ด์ฃผ์„ธ์š”!" -echo "5. ๋ชจ๋“  ํŒŒ์ผ์„ addํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด addํ•œ ํ›„, commitํ•ด ์ฃผ์„ธ์š”!" -echo "6. (๋ช…๋ น์–ด)๋ฅผ ์‚ฌ์šฉํ•ด ์œ„์˜ ๋‚ด์šฉ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹ค์Šตํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”!" -echo "7. \"๋ชจ๋“  ๊ณผ์ œ๊ฐ€ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค\"๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ™•์ธํ•˜์…จ๋‹ค๋ฉด, ์บก์ณํ•˜์‹  ํ›„ week1 ๋ธŒ๋žœ์น˜๋ฅผ pushํ•ด์ฃผ์„ธ์š”!" -echo "8. ์–‘์‹์— ๋งž์ถฐ Pull Request๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!" +echo "===============================1์ฃผ์ฐจ ๊ณผ์ œ===============================" +echo "0. \"week1-(๋ณธ์ธ ๋‹‰๋„ค์ž„)\"์œผ๋กœ ๋ธŒ๋žœ์น˜๋ฅผ ์ƒ์„ฑํ•˜์‹  ํ›„ ํ•ด๋‹น ๋ธŒ๋žœ์น˜๋กœ ์ด๋™ํ•ด์ฃผ์„ธ์š”! (e.g. week1-zimging)" +echo "1. week1.md ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ฃผ์„ธ์š”!" +echo "2. markdown ๋ฌธ๋ฒ•์„ ์ด์šฉํ•ด 1์ฃผ์ฐจ์— ๋ฐฐ์šด ๋‚ด์šฉ์„ week1.md ํŒŒ์ผ์— ์ •๋ฆฌํ•ด์ฃผ์„ธ์š”!" +echo "3. ignore.md ํŒŒ์ผ์„ ์ƒ์„ฑํ•œ ๋’ค ์•„๋ฌด ๋‚ด์šฉ์ด๋‚˜ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!" +echo "4. gitignore ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ignore.md ํŒŒ์ผ์„ ์ถ”์  ํ•ด์ œํ•˜๋„๋ก ์„ค์ •ํ•ด์ฃผ์„ธ์š”!" +echo "5. ๋ชจ๋“  ํŒŒ์ผ์„ addํ•˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ด addํ•œ ํ›„, commitํ•ด ์ฃผ์„ธ์š”!" +echo "6. (๋ช…๋ น์–ด)๋ฅผ ์‚ฌ์šฉํ•ด ์œ„์˜ ๋‚ด์šฉ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‹ค์Šตํ–ˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”!" +echo "7. \"๋ชจ๋“  ๊ณผ์ œ๊ฐ€ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค\"๋ผ๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ํ™•์ธํ•˜์…จ๋‹ค๋ฉด, ์บก์ณํ•˜์‹  ํ›„ week1 ๋ธŒ๋žœ์น˜๋ฅผ pushํ•ด์ฃผ์„ธ์š”!" +echo "8. ์–‘์‹์— ๋งž์ถฐ Pull Request๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”!" echo "=======================================================================" \ No newline at end of file diff --git a/week1/validate.sh b/week1/validate.sh index 9e393dd..bcb5d08 100755 --- a/week1/validate.sh +++ b/week1/validate.sh @@ -54,7 +54,8 @@ if git log --pretty=format:"%H" -- ignore.md | grep -q '.'; then fi if $week1_committed && ! $ignore_committed; then - echo " โœ… week1.md ํŒŒ์ผ์ด ์ปค๋ฐ‹๋˜์—ˆ์Šต๋‹ˆ๋‹ค.\n โœ… ignore.md ํŒŒ์ผ์ด ์ •์ƒ์ ์œผ๋กœ .gitignore์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค." + echo " โœ… week1.md ํŒŒ์ผ์ด ์ปค๋ฐ‹๋˜์—ˆ์Šต๋‹ˆ๋‹ค. + โœ… ignore.md ํŒŒ์ผ์ด ์ •์ƒ์ ์œผ๋กœ .gitignore์— ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค." else if ! $week1_committed; then echo " โŒ week1.md ํŒŒ์ผ์ด ์ปค๋ฐ‹๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค." diff --git a/week1/week1.md b/week1/week1.md new file mode 100644 index 0000000..bcd5123 --- /dev/null +++ b/week1/week1.md @@ -0,0 +1,50 @@ +## Git ์ด๋ž€? +**ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ **ํ•˜๊ณ  **์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„์— ํ•ด๋‹น ํŒŒ์ผ๋“ค์˜ ์ž‘์—…๋“ค์„ ์กฐ์œจ**ํ•˜๊ธฐ ์œ„ํ•œ *๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ* +1. ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์  +์ •ํ™•ํžˆ ์–ธ์ œ ํŒŒ์ผ์„ ์ˆ˜์ •ํ–ˆ๋Š”์ง€, ๊ทธ ๋•Œ ํŒŒ์ผ ๋‚ด์—์„œ ์–ด๋– ํ•œ ๋ณ€ํ™”๊ฐ€ ์žˆ์—ˆ๋Š”์ง€ ๊ธฐ๋กํ•ด์ฃผ๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ์‹œ์ ์—์„œ ์ด์ „ ๋‚ด์šฉ์„ ์–ธ์ œ๋“ ์ง€ ๋‹ค์‹œ ๊บผ๋‚ด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ธฐ๋ก์€ ๋กœ๊ทธ ํ˜•์‹์œผ๋กœ ๊ด€๋ฆฌ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ €์žฅํ•˜์ง€ ์•Š์•„๋„ ๋ฉ๋‹ˆ๋‹ค. + +2. ์—ฌ๋Ÿฌ ์‚ฌ์šฉ์ž ๊ฐ„์— ํ•ด๋‹น ํŒŒ์ผ๋“ค์˜ ์ž‘์—…๋“ค์„ ์กฐ์œจ +Git์„ ์ด์šฉํ•  ๋•Œ๋Š” Github์™€ ๊ฐ™์€ ์›๊ฒฉ ์ €์žฅ์†Œ๋ฅผ ํ™œ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. Github๋ฅผ ์ด์šฉํ•ด ํŒŒ์ผ ๋˜๋Š” ํด๋”๋ฅผ ๋‹ค์šด๋ฐ›์œผ๋ฉด ํ•ด๋‹น ํŒŒ์ผ(๋˜๋Š” ํด๋”)์˜ ๊ธฐ๋ก ๋˜ํ•œ ์‚ฌ์šฉ์ž์˜ ์ปดํ“จํ„ฐ(๋กœ์ปฌ)์—์„œ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ์šฉ์ž๊ฐ€ ์™„์ „ํžˆ ๋™์ผํ•œ ์ž‘์—… ๋‚ด์šฉ์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์œผ๋‹ˆ ์›ํ™œํ•œ ํ˜‘์—…์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. + +3. ๋ถ„์‚ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ +์—ฌ๋Ÿฌ ๋ช…์ด ํ•œ ํŒŒ์ผ(๋˜๋Š” ํด๋”)์— ์ ‘๊ทผํ•ด ๊ฐœ๋ณ„์ ์œผ๋กœ ์ž‘์—…ํ•˜๊ณ , ์ž‘์—… ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ก์œผ๋กœ์„œ ๋ฐ˜์˜ํ•˜๋Š” ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. + +## ๋‚ด ํŒŒ์ผ ๊ด€๋ฆฌ ๋ฐฉ๋ฒ• +1. ๋‚˜์˜ ์ž‘์—… ๊ณต๊ฐ„, **Working Directory** +๋‚ด๊ฐ€ ํ˜„์žฌ ์ž‘์—…ํ•˜๊ณ  ์žˆ๋Š” ๊ณต๊ฐ„(ํด๋”)๋ฅผ ์›Œํ‚น ๋””๋ ‰ํ† ๋ฆฌ(working directory)๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. +๋ณดํ†ต ๋ณด์•ˆ ๋“ฑ์˜ ๋ฌธ์ œ๋กœ ์›๊ฒฉ ๋ ˆํฌ์— ์˜ฌ๋ผ๊ฐ€์ง€ ๋ชปํ•˜๋Š” ํŒŒ์ผ๋“ค์€ `.gitignore`๋ผ๋Š” ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ํ•ด๋‹น ํŒŒ์ผ๋“ค์„ ๋ชจ๋‘ ๋„ฃ์–ด์ฃผ๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. `.gitignore`๋กœ ์ฒ˜๋ฆฌ๋œ ํŒŒ์ผ๋“ค์€ ๋ณ€ํ™”๊ฐ€ ์ƒ๊ฒจ๋„ ์ถ”์ ๋˜์ง€ ์•Š๊ณ , ์›๊ฒฉ ๋ ˆํฌ์—๋„ ์˜ฌ๋ผ๊ฐ€์ง€ ์•Š์Šต๋‹ˆ๋‹ค. + +2. ๋‚ด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜๋Š” **Staging Area** +์„ ํƒ์ ์œผ๋กœ ํŒŒ์ผ์„ ์ปค๋ฐ‹ํ•˜๊ธฐ ์œ„ํ•ด `staged` ๋‹จ๊ณ„๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ `staged` ์ƒํƒœ๊ฐ€ ๋œ ํŒŒ์ผ๋“ค์„ `staging area`์— ์žˆ๋‹ค๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. + +3. ๋‚ด ์ž‘์—…์ด ๊ธฐ๋ก๋˜๋Š” ๊ณณ, **Local Repository** +commit์„ ํ†ตํ•ด ํŒŒ์ผ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ธฐ๋กํ•˜๋Š” ๊ณณ์„ Local Repository๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. + +## Git์˜ ์‚ฌ์šฉ๋ฒ• +1. ์›๊ฒฉ ๋ ˆํฌ ์ƒ์„ฑํ•˜๊ณ  ๋กœ์ปฌ ๋ ˆํฌ์™€ ์—ฐ๊ฒฐํ•˜๊ธฐ +2. .gitignore ๋กœ ํŒŒ์ผ ์ถ”์ ๋˜์ง€ ์•Š๊ฒŒ ๊ด€๋ฆฌํ•˜๊ธฐ +3. add, commit, push๋กœ ๋‚ด ํŒŒ์ผ ์ถ”์  ์ƒํƒœ ๊ด€๋ฆฌํ•˜๊ธฐ +4. ๋‚ด ํŒŒ์ผ ์ƒํƒœ ํ™•์ธํ•˜๊ธฐ + +## Branch๋ž€? +1. ๋‚ด๊ฐ€ ์ž‘์—…ํ•˜๋Š” ๋…๋ฆฝ์ ์ธ ์˜์—ญ, **Branch** +2. ๋ธŒ๋žœ์น˜ ๋งŒ๋“ค๊ณ  ์ „ํ™˜ํ•˜๊ธฐ +3. ๋ธŒ๋žœ์น˜ mergeํ•˜๊ธฐ + +## ์ปค๋ฐ‹ ๊ธฐ๋ก ํ™•์ธ ๋ฐฉ๋ฒ• +1. git log ์กฐํšŒํ•˜๊ธฐ + - ์ปค๋ฐ‹ ๊ธฐ๋ณธ ๊ตฌ์„ฑ + - ์ปค๋ฐ‹ ํ•ด์‹œ: `commit 691ceb4268ec2c5b2d1afd79dd41f5783dcfac46` + - ์ปค๋ฐ‹ ์ƒ์„ฑ์ž: `youz2me ` + - ์ปค๋ฐ‹ ์ผ์‹œ: `Sun Sep 22 18:34:03 2024 +0900` + - ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€: `fix: validate ๋ช…๋ น์–ด ํŒŒ๋ผ๋ฏธํ„ฐ ์•ˆ๋“ค์–ด๊ฐ€๊ฒŒ ์ˆ˜์ •` + +2. ๋‚ด ๋ธŒ๋žœ์น˜์˜ ๊ฐ€์žฅ ์ตœ์‹  ์ฃผ์†Œ, HEAD +๋ชจ๋“  ๋ธŒ๋žœ์น˜์—๋Š” HEAD๋ผ๋Š” ๊ฐ’์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. HEAD๋Š” ํ˜„์žฌ ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ฐ’์œผ๋กœ, ํ˜„์žฌ ๋‚ด๊ฐ€ ์œ„์น˜ํ•˜๊ณ  ์žˆ๋Š” ๋ธŒ๋žœ์น˜์˜ ์ตœ์‹  ์ปค๋ฐ‹์„ ํฌ์ธํ„ฐ๋กœ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +## Issue์™€ PR์˜ ์ฐจ์ด, ๊ทธ๋ฆฌ๊ณ  ์‚ฌ์šฉ๋ฒ• +1. ๋‚˜์˜ ์ž‘์€ ๋ชฉํ‘œ๋ฅผ Issue๋กœ ์„ค์ •ํ•˜๊ธฐ +์ด์Šˆ๋Š” ํฌ๊ฒŒ *์ œ๋ชฉ๊ณผ ๋‚ด์šฉ, Assignees์™€ Labels, Projects, Milestone, Development*๋กœ ๋‚˜๋ˆ„์–ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. + +2. ๋‚ด ์ž‘์—…์„ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜์— ๋ฐ˜์˜ํ•  ๋•Œ๋Š”? Pull Request ์˜ฌ๋ฆฌ๊ธฐ +- git log : ์ปค๋ฐ‹ ํ•ด์‹œ์™€ ํ•จ๊ป˜ ์ปค๋ฐ‹ ์ผ์‹œ, ์ƒ์„ฑํ•œ ์‚ฌ๋žŒ์„ ๋ณด์—ฌ์ค€๋‹ค. \ No newline at end of file