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".

Informations de source

Dépôt
fivetaku/gptaku-plugins-codex
Dernière activité de la source
8 septembre 2026 à 07:59
Langue détectée de SKILL.md
coréen
Étoiles
128
Forks
22

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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` 같은 파괴적 명령은 절대 실행하지 않는다. - 사용자가 명시적으로 요청하지 않으면 히스토리를 재작성하지 않는다. - 사용자의 무관한 변경 내용은 그대로 보존한다.
Voir sur GitHub