๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ป DEV/GitHub9

[Github] GPG Keys ์ƒ์„ฑ & ๋“ฑ๋กํ•˜๊ธฐ ์ ‘๊ทผ (์š”์•ฝ)์ด์ „ ๊ธ€์—์„œ ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ + Tag ์ƒ์„ฑ + Release ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ, GPG Keys ๊ฐ€ ์—†์–ด์„œ Tags ํƒญ์— 'verified'๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฒƒ์„ ํ•ด์†Œํ•˜๊ณ ์ž ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ GPG Keys๋ฅผ ์ƒ์„ฑํ•˜๊ณ  Github repo์— ์ •์ƒ์ ์œผ๋กœ ๋“ฑ๋กํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ๊ธฐ๋กํ•œ๋‹ค. 1. GPG Key ์ƒ์„ฑ (1) gnupg ํŒจํ‚ค์ง€ ์„ค์น˜- (mac) ~$ brew install gnupg 2. GPG Key ์ƒ์„ฑ (2) Key ์ƒ์„ฑํ•˜๊ธฐ- ~$ gpg --full-generate-key- (1) what kind of key you want(ํ‚ค ์ข…๋ฅ˜) (2) keysize(ํ‚ค ๊ธธ์ด)- (3) specify how long(์œ ํšจ๊ธฐ๊ฐ„) (4) name / email / comment (๊ฐœ์ธ์‹ ์›)- ์ƒ์„ฑ.. 2025. 5. 15.
[Github] Releases Tags ์ƒ์„ฑ & Verified ์ธ์ฆ ์ ‘๊ทผ (์š”์•ฝ)์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋‹จ๊ณ„(develop → master)์—์„œ Release์™€ Tag ๊ด€๋ฆฌ๋ฅผ ์š”ํ–ˆ๋‹ค. ์ ์šฉํ•œ ๋‚ด์šฉ์„ ๊ธฐ๋กํ•œ๋‹ค.(์ถ”๊ฐ€๋กœ, Github repo์˜ Verified ์ธ์ฆ๊นŒ์ง€) 1. ๋ฐฐํฌ ์ค€๋น„- develop ๋ธŒ๋žœ์น˜ ์ตœ์‹ ํ™”- master ๋ธŒ๋žœ์น˜๋กœ ๋ณ‘ํ•ฉ 2. ์ˆ˜๋™์œผ๋กœ Tag ๋‹ฌ๊ธฐ (Git Flow ์—†์ด)- ๋ฆด๋ฆฌ์ฆˆ ํƒœ๊ทธ ์ƒ์„ฑ git tag -s v2.0.4 -m "Release v2.0.4"- ์›๊ฒฉ์— push (git push origin master / git push origin v2.0.4) 3. Github repo Release ๋ฉ”๋‰ด- Draft a new release 4. Github Repo > Tag > Verified- '-s' ์™€ '-a'์˜ .. 2025. 5. 13.
[Github Actions] ํ”„๋กœ์ ํŠธ์— github Actions ์ ์šฉ ์ ‘๊ทผ (์š”์•ฝ)์—…๋ฌด์—์„œ Web Service ๋ฐฐํฌ ๋ฐฉ์‹์— ๋ณ€ํ™”(→ Github Actions)๋ฅผ ๋„๋ชจํ–ˆ๋‹ค.์ด๋Ÿฌํ•œ ๋ณ€ํ™”๋ฅผ ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์—๋„ ์ ์šฉํ•˜๊ณ ์ž Nextjs ํ”„๋กœ์ ํŠธ + Github Action์„ ์ ์šฉํ•œ ์ƒ˜ํ”Œ์„ ๊ธฐ๋กํ•œ๋‹ค.(๊ฐ ๋‹จ๊ณ„๋ฅผ Step๋ณ„๋กœ ์ž‘์„ฑํ•ด๋ณธ๋‹ค.)   0. Create Project (Terminal) → ํ•˜๋‹จ์— ๊ฒŒ์‹œ๊ธ€ ์ฒจ๋ถ€- ๊ฒฝ๋กœ ์ด๋™- Project App ์ƒ์„ฑ- Open Project & Branch ๋ณ€๊ฒฝ (main → master)- 4. ์›๊ฒฉ์ €์žฅ์†Œ ์ƒ์„ฑ(Web) & Push (๋กœ์ปฌ → ์›๊ฒฉ์ €์žฅ์†Œ)    1. Github Action ์ ์šฉ- (Web) Actions > set up a workflow yourself-  ๋ฐฉ๋ฒ•   1. Github Action ์ ์šฉ1. (Web) Ac.. 2025. 3. 10.
[Github] ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ (๋กœ์ปฌ ์ €์žฅ์†Œ์—์„œ ์›๊ฒฉ ์ €์žฅ์†Œ Push) ์ ‘๊ทผ (์š”์•ฝ)Project ์ƒ์„ฑ์‹œ, Github Web์—์„œ Repo๋ฅผ ๋งŒ๋“ค์–ด Pull์„ ๋ฐ›๊ณ  ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ์™€ ๋”๋ถˆ์–ด,์ด๋ฏธ ์ฝ”๋“œ ์ž‘์„ฑ์ด ์ง„ํ–‰๋œ ์ƒํ™ฉ์˜ ํ˜•์ƒ(๋กœ์ปฌ ์ €์žฅ์†Œ)์„ ์›๊ฒฉ์ €์žฅ์†Œ์— Push ํ•˜๊ณ ์ž ํ•  ๋•Œ์— ํ๋ฆ„์„ ์ž‘์„ฑํ•œ๋‹ค. 1. Create Project (Terminal)- ๊ฒฝ๋กœ ์ด๋™- Project App ์ƒ์„ฑ- (๋กœ์ปฌ) Open Project & Branch ์ƒ์„ฑ (main → master)- ์›๊ฒฉ์ €์žฅ์†Œ ์ƒ์„ฑ(Web) & Push (๋กœ์ปฌ → ์›๊ฒฉ์ €์žฅ์†Œ) ๋ฐฉ๋ฒ• 1. Create Project (Terminal) 1. Project ์ƒ์„ฑํ•  ๊ฒฝ๋กœ๋กœ ์ด๋™ (./WebStormProjects) 2. Next.js App ์ƒ์„ฑ $ npx create-next-app@latest3. ์›๊ฒฉ์ €.. 2025. 3. 10.
[ssh-key] ๋‹ค์ค‘ ๋“ฑ๋ก์œผ๋กœ ์ธํ•œ ์ธ์‹ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ์ ‘๊ทผ (์š”์•ฝ)๊ฐœ์ธ, ์—…๋ฌด์šฉ 2๊ฐœ์˜ github ssh-key๋ฅผ ๊ฐ€์ง€๊ณ , ๋“ฑ๋กํ•œ ์ฑ„ webStorm์œผ๋กœ git push๋ฅผ ํ•˜๊ณ ์ž ํ–ˆ์œผ๋‚˜ ์šฐ์„ ์ˆœ์œ„์— ๋”ฐ๋ผ ์›ํ•˜๋Š” ssh-key๊ฐ€ ์ธ์‹๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ์— ๋ด‰์ฐฉํ–ˆ๋‹ค. ์ด๋•Œ์— ํ•ด๊ฒฐํ•˜๋Š” ๊ณผ์ •์„ ๋‹ด๋Š”๋‹ค. 1. Push, ์˜ค๋ฅ˜ 2. ํ˜„์žฌ ์—ฐ๊ฒฐ๋œ Git ๊ณ„์ • ํ™•์ธ (ํ™•์ธ1) 3. ์›๊ฒฉ ์ €์žฅ์†Œ URL ํ™•์ธ (ํ™•์ธ2) 4. SSHํ‚ค๋ฅผ ์‚ฌ์šฉํ•œ ์ ‘๊ทผ ์„ค์ • (ํ™•์ธ3) 5. SSHํ‚ค ๋“ฑ๋ก (๋กœ์ปฌ ๋‚ด ๊ฒฝ๋กœ > ํŒŒ์ผ๋ช… ํ™•์ธ) 6. ๋“ฑ๋ก๋˜์–ด ์šด์šฉ ์ค‘์ธ ssh-key ํ™•์ธ 7. ๋ชจ๋“  SSH ํ‚ค ์ดˆ๊ธฐํ™” ํ›„, ์˜ฌ๋ฐ”๋ฅธ ํ‚ค๋งŒ ์ถ”๊ฐ€ 5. SSHํ‚ค ๋“ฑ๋ก (๋กœ์ปฌ ๋‚ด ๊ฒฝ๋กœ > ํŒŒ์ผ๋ช… ํ™•์ธ) 5. SSHํ‚ค ๋“ฑ๋ก (๋กœ์ปฌ ๋‚ด ๊ฒฝ๋กœ > ํŒŒ์ผ๋ช… ํ™•์ธ)๋ฐฉ๋ฒ• 1. Push, ์˜ค๋ฅ˜ER.. 2025. 3. 7.
[Github - git flow]Git Flow ์ „๋žต - squash merge Git Flow Strategy ๋ฅผ ํ†ตํ•ด์„œ ํ”„๋กœ์ ํŠธ ํ˜‘์—… · ํ˜•์ƒ๊ด€๋ฆฌ๋ฅผ ์ด์–ด๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.์ƒ์„ฑํ•œ feature ๋ธŒ๋žœ์น˜๋ฅผ develop ๋ธŒ๋žœ์น˜์— ๋ณ‘ํ•ฉ(merge)ํ•  ๋•Œ์— ํ๋ฆ„๊ณผ ๋ฐฉ๋ฒ•์„ ๋ฉ”๋ชจํ•˜๊ณ ์ž ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.ํŠนํžˆ ์ปค๋ฐ‹-ํ‘ธ์‹œ ์ด๋ ฅ์„ ๊ฐ„๊ฒฐ·์ •๋ˆ๋˜๊ฒŒ ํ•ด์ฃผ๋Š” squash merge๋ฅผ ์ค‘์ ์ ์œผ๋กœ ๋‹ค๋ฃจ๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค. ์š”์•ฝ  1. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ (Owner or Admin)   2. ๋กœ์ปฌ์—์„œ Clone ํ›„ git flow init   3. develop ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ   4. feature ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ   5. push ๋ฐ PR (Pull Request)   6. PR close & squash merge ์ƒ์„ธ   1. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ (Owner or Admin)     2. ๋กœ์ปฌ์—์„œ Clone ํ›„ git flow ini.. 2024. 8. 6.
[Github] Git ํ‘ธ์‹œ ํ•ด์ฃผ๋Š” ๊ณ„์ • ๋ฐ”๊ฟ”์ฃผ๊ธฐ(username, useremail) ์ธํ…”๋ฆฌ์ œ์ด๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐœ์ธ๊ณผ ํšŒ์‚ฌ์˜ 2๊ฐœ Github ๊ณ„์ •์— ๋Œ€ํ•œ version control์„ ์ง„ํ–‰ํ•˜๋ฉฐ ํ”„๋กœ์ ํŠธ์˜ ํด๋ก  ๋“ฑ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํด๋ก  ์ดํ›„, ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด ์ปค๋ฐ‹-ํ‘ธ์‹œ ์ž‘์—…์ด ์ด์–ด์ง€๋˜ ๊ณผ์ • ํšŒ์‚ฌ์˜ ํ”„๋กœ์ ํŠธ์— ๊ฐœ์ธ์˜ ๊ณ„์ •์œผ๋กœ ํ‘ธ์‹œ๊ฐ€ ์ง„ํ–‰๋˜๊ณ  ์ด๋ ฅ์ด ๋‚จ๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ฒŒ๋˜๊ณ ๋Š” ํ”„๋กœ์ ํŠธ๋งˆ๋‹ค Git push๋ฅผ ํ•ด์ฃผ๋Š” ๊ณ„์ •์„ ๋ณ€๊ฒฝ-์ง€์ •ํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์š”์•ฝ  1. ํ˜„์žฌ ์—ฐ๊ฒฐ๋œ ๊ณ„์ • ์•Œ์•„๋ณด๊ธฐ   2. ํฌ๋งํ•˜๋Š” ๊ณ„์ •์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ์ƒ์„ธ  1. ํ˜„์žฌ ์—ฐ๊ฒฐ๋œ ๊ณ„์ • ์•Œ์•„๋ณด๊ธฐ# ํ˜„์žฌ ๊ณ„์ •์˜ ๋‹‰๋„ค์ž„(์ด๋ฆ„) ์•Œ์•„๋ณด๊ธฐgit config user.name# ํ˜„์žฌ ๊ณ„์ •์˜ ์ด๋ฉ”์ผ ์•Œ์•„๋ณด๊ธฐgit config user.email  2. ํฌ๋งํ•˜๋Š” ๊ณ„์ •์œผ๋กœ ๋ณ€๊ฒฝํ•˜๊ธฐ# ํฌ๋งํ•˜๋Š” ๊ณ„์ •์˜ ๋‹‰๋„ค์ž„(์ด๋ฆ„)์œผ๋กœ ๋ณ€.. 2024. 8. 2.
[Github] main branch๋ฅผ master ๋กœ ๋ฐ”๊พธ๊ณ  default ๊ฐ’ ๋ณ€๊ฒฝํ•˜๊ธฐ Git Flow strategy์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ ํ˜‘์—…-ํ˜•์ƒ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Git์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ์‹œ, main(default) ๋ธŒ๋žœ์น˜๊ฐ€ ์ƒ์„ฑ์ด ๋ฉ๋‹ˆ๋‹ค.master, develop, release ๋ธŒ๋žœ์น˜ ๋“ฑ์ด ํ•„์š”ํ•œ ๊ฐ€์šด๋ฐ, main ๋ธŒ๋žœ์น˜๋ฅผ master ๋ธŒ๋žœ์น˜๋กœ ๋ฐ”๊พธ๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์š”์•ฝ  1. ์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ• (web์ƒ์—์„œ ๋ณ€๊ฒฝ)   2. ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ• (command๋กœ ๋ณ€๊ฒฝ)์ƒ์„ธ  1. ์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ• (web์ƒ์—์„œ ๋ณ€๊ฒฝ) ์ฒซ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ Github(web)์—์„œ ๋ณ€๊ฒฝ์ž…๋‹ˆ๋‹ค.โ—ผ๏ธŽ 1) ๋ธŒ๋žœ์น˜๋ช…์„ ๋ฐ”๊พธ๊ณ ์ž ํ•˜๋Š” ํ”„๋กœ์ ํŠธ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ๋กœ ์ง„์ž…์„ ํ•ฉ๋‹ˆ๋‹ค.โ—ผ๏ธŽ 2) settings > General ์— ์ง„์ž…ํ•ฉ๋‹ˆ๋‹ค.โ—ผ๏ธŽ 3) 'Default branch' ์„น์…˜์—์„œ main ๋ธŒ๋žœ์น˜๋กœ ์„ค์ •๋ผ ์žˆ์Œ.. 2024. 8. 2.
[Github] ๋งˆ์ง€๋ง‰ commit ๋‚ ์งœ ๋ณ€๊ฒฝ(์ˆ˜์ •) 2022๋…„ ์ƒˆํ•ด, ๋ชฉํ‘œํ•œ ๊ฒŒ ์žˆ๋‹ค๋ฉด 1์ผ 1์ปค๋ฐ‹ ์ž”๋””๊น”๊ธฐ! ๋•Œ๋•Œ๋กœ commit + push๋ฅผ ์žŠ์„ ๋•Œ๋ฉด, ๊ธฐ๋ก์ด ๋‚จ์ง€ ์•Š๋Š”๋‹ค๋Š” ์‚ฌ์‹ค๊ณผ ๋‹น์ผ์˜ ๋…ธ๋ ฅ์ด ๋ฌด์‚ฐ๋˜๋Š” ๋“ฏํ•œ ์•„์‰ฌ์›€์„ ๋‚จ๊ธด ์ฑ„ ๋‹ค์Œ ๋‚ ์„ ๋งž์ดํ•˜๊ฒŒ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ, ์ด๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์€ ์—†์„๊นŒ ์ฐพ์•„๋ณธ ๊ฒฐ๊ณผ! "๋งˆ์ง€๋ง‰ commit์˜ ๋‚ ์งœ๋ฅผ ๋ณ€๊ฒฝ"ํ•˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์„ ์ฐพ๊ฒŒ ๋ผ ์ •๋ฆฌํ•ด๋ณธ๋‹ค. 1. Git cmd๋ฅผ ํ†ตํ•ด ํฌ๋งํ•˜๋Š” ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ ๊ฒฝ๋กœ์ ‘๊ทผ (cd ~) 2. commit ๋‚ด์—ญ, ํŠน์ • ๋‚ ์งœ๋กœ ์ˆ˜์ •(๋ณ€๊ฒฝ)ํ•˜๊ธฐ git commit --amend --no-edit --date "(์˜๋ฌธ) ์š”์ผ ์›” ์ผ ์—ฐ๋„ ์‹œ:๋ถ„:์ดˆ KST" git commit --amend --no-edit --date "Sat 4 Jun 2022 15:15:15 KST" 3. ํ™•์ธํ•ด๋ณด๊ธฐ .. 2022. 6. 9.