Skip to main content

git-teacher-save

Commits changed files to Git, explained in plain language for non-developers. Runs `git add -A` + `git commit` and describes what was saved. Korean triggers โ€” "์ €์žฅํ•ด์ค˜", "์ปค๋ฐ‹", "์ปค๋ฐ‹ํ•ด์ค˜", "๋ณ€๊ฒฝ ๋‚ด์šฉ ์ €์žฅ", "์ง€๊ธˆ๊นŒ์ง€ ํ•œ ๊ฑฐ ์ €์žฅ", "์„ธ์ด๋ธŒ". English triggers โ€” "save", "commit", "save my work".

Source facts

Repository
fivetaku/gptaku-plugins-codex
Last source activity
September 8, 2026 at 07:59
Detected SKILL.md language
Korean
Stars
128
Forks
22

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions ยท Read-only preview
name
git-teacher-save
description
Commits changed files to Git, explained in plain language for non-developers. Runs `git add -A` + `git commit` and describes what was saved. Korean triggers โ€” "์ €์žฅํ•ด์ค˜", "์ปค๋ฐ‹", "์ปค๋ฐ‹ํ•ด์ค˜", "๋ณ€๊ฒฝ ๋‚ด์šฉ ์ €์žฅ", "์ง€๊ธˆ๊นŒ์ง€ ํ•œ ๊ฑฐ ์ €์žฅ", "์„ธ์ด๋ธŒ". English triggers โ€” "save", "commit", "save my work".
# ์ €์žฅํ•˜๊ธฐ โ€” Phase 3 (๋ฐ”๋ฅด๋‹ค ๊นƒ์„ ์ƒ โ€” Codex) ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ์„ Commit (์ €์žฅ)ํ•œ๋‹ค. `git add -A` + `git commit`์„ ์‹คํ–‰ํ•˜๊ณ , ์‚ฌํ›„์— ๋ฌด์—‡์„ ํ–ˆ๋Š”์ง€ ์„ค๋ช…ํ•œ๋‹ค. > ์„ค๋ช…ยท๊ต์œก ์‹œ `git-teacher-help`์˜ ยง๊ต์œก ์›์น™(`shared/questioning-policy.md` ยง3 Teaching)์„ ๋”ฐ๋ฅธ๋‹ค. "Commitํ•˜๋ฉด GitHub์— ์˜ฌ๋ผ๊ฐ„๋‹ค"๋Š” ์˜ค๊ฐœ๋…์€ ๋น„์œ +์งˆ๋ฌธ์œผ๋กœ ๊ต์ •ํ•œ๋‹ค(ยง2a). ์‚ฌ์šฉ์ž๊ฐ€ ๊ทธ๋ƒฅ ์ €์žฅ๋งŒ ๋นจ๋ฆฌ ์›ํ•˜๋ฉด ๊ฐ•์˜ํ•˜์ง€ ์•Š๋Š”๋‹ค(ยง2c). > Codex CLI์—๋Š” ๊ฐ๊ด€์‹ ์นด๋“œ UI๊ฐ€ ์—†๋‹ค. ๊ฒฐ์ •์ด ํ•„์š”ํ•œ ๊ณณ์€ `shared/questioning-policy.md` ยงA์˜ **์ฑ„ํŒ… ๋ฒˆํ˜ธํ˜• ์„ ํƒ์ง€ ๋ธ”๋ก**์œผ๋กœ ๋ฌป๋Š”๋‹ค. ## ์‹คํ–‰ ์ˆœ์„œ ### Step 1: ๋ณ‘๋ ฌ ์ƒํƒœ ์ˆ˜์ง‘ ๋‹ค์Œ ๋ช…๋ น์„ **๋ณ‘๋ ฌ๋กœ(๊ฐ€๋Šฅํ•œ ํ•œ ํ•จ๊ป˜)** ์‹คํ–‰ํ•œ๋‹ค: ```bash git rev-parse --is-inside-work-tree # .git ์กด์žฌ ํ™•์ธ git symbolic-ref --short HEAD # ํ˜„์žฌ branch git status --porcelain # ๋ณ€๊ฒฝ ํŒŒ์ผ ๋ชฉ๋ก git diff --stat # ๋ณ€๊ฒฝ ํ†ต๊ณ„ ls .gitignore 2>/dev/null # .gitignore ์กด์žฌ ์—ฌ๋ถ€ ``` ### Step 2: ์•ˆ์ „ ๊ฒ€์‚ฌ 1. **`.git` ์—†์Œ**: "์—ฌ๊ธฐ๋Š” Git ํ”„๋กœ์ ํŠธ ํด๋”๊ฐ€ ์•„๋‹ˆ์—์š”. '๊นƒ ์‹œ์ž‘ํ•ด์ค˜'๋กœ ๋จผ์ € ์„ค์ •ํ•˜์„ธ์š”." โ†’ ์ค‘๋‹จ 2. **Detached HEAD**: "์•ˆ์ „ํ•œ ์œ„์น˜์—์„œ ๋ฒ—์–ด๋‚ฌ์–ด์š”." โ†’ `git checkout main` ์‹คํ–‰ ํ›„ ์žฌ์‹œ๋„ 3. **Merge Conflict** (`UU`, `AA` ๋“ฑ): ์ถฉ๋Œ ํŒŒ์ผ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ฃผ๊ณ , ์ฑ„ํŒ… ๋ฒˆํ˜ธํ˜• ์„ ํƒ์ง€๋กœ ๋ฌป๋Š”๋‹ค (`shared/questioning-policy.md` ยงA): ```text ์ถฉ๋Œ์ด ์žˆ์–ด์„œ ๋ฐ”๋กœ ์ €์žฅํ•  ์ˆ˜ ์—†์–ด์š”. ๋‘ ์‚ฌ๋žŒ์ด ๊ฐ™์€ ๋ถ€๋ถ„์„ ๋™์‹œ์— ๊ณ ์ณค๊ฑฐ๋“ ์š”. ์ถฉ๋Œ ํŒŒ์ผ: {ํŒŒ์ผ ๋ชฉ๋ก} ์งˆ๋ฌธ: ์–ด๋–ป๊ฒŒ ํ• ๊นŒ์š”? 1. ๋‚ด๊ฐ€ ์ˆ˜์ •ํ•œ ๊ฑธ๋กœ ์œ ์ง€ โ€” ๋‚ด ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์‚ฌ์šฉํ•ด์š” 2. ์ƒ๋Œ€๋ฐฉ์ด ์ˆ˜์ •ํ•œ ๊ฑธ๋กœ ์œ ์ง€ โ€” ์ƒ๋Œ€๋ฐฉ์˜ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ์‚ฌ์šฉํ•ด์š” 3. ๋ฌธ์žฅ์œผ๋กœ ์ง์ ‘ ์ˆ˜์ • ์š”์ฒญ ``` ์„ ํƒ์— ๋”ฐ๋ผ: - "๋‚ด๊ฐ€ ์ˆ˜์ •ํ•œ ๊ฑธ๋กœ ์œ ์ง€": `git checkout --ours {ํŒŒ์ผ}` โ†’ `git add {ํŒŒ์ผ}` - "์ƒ๋Œ€๋ฐฉ์ด ์ˆ˜์ •ํ•œ ๊ฑธ๋กœ ์œ ์ง€": `git checkout --theirs {ํŒŒ์ผ}` โ†’ `git add {ํŒŒ์ผ}` ์ถฉ๋Œ ํ•ด๊ฒฐ ํ›„ ์ž๋™์œผ๋กœ ์ €์žฅ(commit) ๋‹จ๊ณ„๋กœ ์ง„ํ–‰ํ•œ๋‹ค. 4. **๋ณ€๊ฒฝ ์‚ฌํ•ญ ์—†์Œ**: "์ €์žฅํ•  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์—†์–ด์š”. ํŒŒ์ผ์„ ์ˆ˜์ •ํ•œ ๋’ค ๋‹ค์‹œ ์‹œ๋„ํ•˜์„ธ์š”." โ†’ ์ค‘๋‹จ ### Step 3: .gitignore ์ž๋™ ์ƒ์„ฑ `.gitignore`๊ฐ€ ์—†์œผ๋ฉด ํ”„๋กœ์ ํŠธ ํƒ€์ž…์„ ๊ฐ์ง€ํ•˜์—ฌ ๊ธฐ๋ณธ `.gitignore`๋ฅผ ์ƒ์„ฑํ•œ๋‹ค: - Node.js (`package.json` ์กด์žฌ) โ†’ `node_modules/`, `.env`, `dist/` ๋“ฑ - Python (`requirements.txt` ๋˜๋Š” `pyproject.toml` ์กด์žฌ) โ†’ `__pycache__/`, `.env`, `venv/` ๋“ฑ - ์ผ๋ฐ˜ โ†’ `.env`, `.DS_Store`, `*.log`, `thumbs.db` ๋“ฑ ์ƒ์„ฑ ํ›„ ์•ˆ๋‚ด: "๋ณด์•ˆ์„ ์œ„ํ•ด .gitignore ํŒŒ์ผ์„ ๋งŒ๋“ค์—ˆ์–ด์š”. ๋น„๋ฐ€๋ฒˆํ˜ธ๋‚˜ ์ž„์‹œ ํŒŒ์ผ์€ ์ž๋™์œผ๋กœ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค." ### Step 4: ๋ณ€๊ฒฝ ํŒŒ์ผ ์•ˆ๋‚ด + ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ์š”์ฒญ ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค€ ๋’ค ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฌผ์–ด๋ณธ๋‹ค. `git status --porcelain` ๊ฒฐ๊ณผ๋กœ ํŒŒ์ผ ๋ชฉ๋ก์„ **๋™์  ์ƒ์„ฑ**ํ•˜์—ฌ ๋จผ์ € ๋ณด์—ฌ์ฃผ๊ณ , ์ฑ„ํŒ… ๋ฒˆํ˜ธํ˜• ์„ ํƒ์ง€๋กœ ๋ฌป๋Š”๋‹ค (`shared/questioning-policy.md` ยงA): ```text ๋ณ€๊ฒฝ๋œ ํŒŒ์ผ N๊ฐœ: - file1 (์ˆ˜์ •๋จ) - file2 (์ƒˆ ํŒŒ์ผ) ์งˆ๋ฌธ: ๋ญ˜ ๋ฐ”๊ฟจ๋Š”์ง€ ํ•œ ์ค„๋กœ ์ ์–ด์ฃผ์„ธ์š”. 1. ์ง์ ‘ ์ž…๋ ฅ โ€” ํ•œ ์ค„๋กœ ์•Œ๋ ค์ฃผ์„ธ์š” (์˜ˆ: "๋กœ๊ณ  ๋ณ€๊ฒฝ", "๋ฉ”์ธ ํŽ˜์ด์ง€ ์ˆ˜์ •") 2. ์ž๋™ ์ƒ์„ฑ โ€” ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ๋ถ„์„ํ•ด์„œ ๋ฉ”์‹œ์ง€๋ฅผ ์ž๋™์œผ๋กœ ๋งŒ๋“ค์–ด์š” 3. ๋ฌธ์žฅ์œผ๋กœ ์ง์ ‘ ์ˆ˜์ • ์š”์ฒญ ``` **์‚ฌ์šฉ์ž๊ฐ€ ๋นˆ ๊ฐ’์ด๋‚˜ ์• ๋งคํ•œ ๋‹ต์„ ์ฃผ๋ฉด**: ๋ณ€๊ฒฝ ๋‚ด์šฉ(diff)์„ ๋ถ„์„ํ•˜์—ฌ ์งง์€ ์ž์—ฐ์–ด ๋ฉ”์‹œ์ง€๋ฅผ ์ž๋™ ์ƒ์„ฑํ•œ๋‹ค. ### Step 5: ์ €์žฅ ์‹คํ–‰ ```bash git add -A git commit -m "์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฉ”์‹œ์ง€" ``` ์ปค๋ฐ‹ ๋ฉ”์‹œ์ง€ ๊ทœ์น™: - ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ์ž์—ฐ์–ด ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ (conventional commits ๊ฐ•์ œํ•˜์ง€ ์•Š์Œ) - ํ•œ๊ตญ์–ด/์˜์–ด ๋ชจ๋‘ ํ—ˆ์šฉ - ์˜ˆ: "๋กœ๊ณ  ๋ณ€๊ฒฝ", "๋ฉ”์ธ ํŽ˜์ด์ง€ ์ˆ˜์ •", "์˜คํƒ€ ๊ณ ์นจ" ### Step 6: ์˜์ˆ˜์ฆ ์ถœ๋ ฅ ์‹คํ–‰ ํ›„ ๊ฒฐ๊ณผ๋ฅผ ์•Œ๋ ค์ค€๋‹ค: ``` ์ €์žฅ ์™„๋ฃŒ! ํŒŒ์ผ 3๊ฐœ๋ฅผ ํฌ์žฅํ•ด์„œ '๋กœ๊ณ  ๋ณ€๊ฒฝ'์ด๋ผ๊ณ  ๊ธฐ๋กํ–ˆ์–ด์š”. ์•„์ง ๋‚ด ์ปดํ“จํ„ฐ์—๋งŒ ์žˆ์–ด์š”. GitHub ํด๋ผ์šฐ๋“œ์—๋„ ์˜ฌ๋ฆฌ๋ ค๋ฉด "์˜ฌ๋ ค์ค˜"๋ผ๊ณ  ํ•˜์„ธ์š”. ``` ## ํ•ต์‹ฌ ๊ฐ•์กฐ์‚ฌํ•ญ - ์ €์žฅ ํ›„ **๋งค๋ฒˆ** "์•„์ง ๋‚ด ์ปดํ“จํ„ฐ์—๋งŒ ์žˆ์–ด์š”" ๋ฆฌ๋งˆ์ธ๋“œ - Commit๊ณผ Push์˜ ์ฐจ์ด๋ฅผ ์ฒด๊ฐํ•˜๊ฒŒ ํ•จ โ€” ๊ฒ๋จน์€ ์ดˆ๋ณด๋ฉด "๋ฐฉ๊ธˆ ์ €์žฅํ•œ ๊ฑด ์–ด๋””์— ์žˆ๋Š” ๊ฑธ๊นŒ์š”?"๋กœ ํ•œ ๋ฒˆ ๋” ํ™•์ธ(ยง2a) - ๋‹ค์Œ ํ–‰๋™(Push)์„ ์•ˆ๋‚ด ## Safety - `git reset --hard` ๊ฐ™์€ ํŒŒ๊ดด์  ๋ช…๋ น์€ ์ ˆ๋Œ€ ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค. - ์‚ฌ์šฉ์ž๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์š”์ฒญํ•˜์ง€ ์•Š์œผ๋ฉด ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์žฌ์ž‘์„ฑํ•˜์ง€ ์•Š๋Š”๋‹ค. - ์‚ฌ์šฉ์ž์˜ ๋ฌด๊ด€ํ•œ ๋ณ€๊ฒฝ ๋‚ด์šฉ์€ ๊ทธ๋Œ€๋กœ ๋ณด์กดํ•œ๋‹ค.
View on GitHub