Skip to main content

git-teacher-status

Translates current Git status into plain-language explanations for non-developers. Korean triggers — "상태 확인", "지금 어떤 상태?", "뭐가 바뀌었어?", "git status", "변경 사항", "뭐가 달라졌어?", "파일 확인". English triggers — "check status", "what changed", "git status".

معلومات المصدر

المستودع
fivetaku/gptaku-plugins-codex
آخر نشاط في المصدر
٨ سبتمبر ٢٠٢٦ في ٠٧:٥٩
لغة SKILL.md المكتشفة
الكورية
النجوم
١٢٨
التفرعات
٢٢

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
git-teacher-status
description
Translates current Git status into plain-language explanations for non-developers. Korean triggers — "상태 확인", "지금 어떤 상태?", "뭐가 바뀌었어?", "git status", "변경 사항", "뭐가 달라졌어?", "파일 확인". English triggers — "check status", "what changed", "git status".
# 상태 확인 (바르다 깃선생 — Codex) `git status`와 관련 명령의 결과를 비개발자가 이해할 수 있는 한국어 자연어로 번역한다. > 설명·교육 시 `git-teacher-help`의 §교육 원칙(`shared/questioning-policy.md` §3 Teaching)을 따른다. 상태가 헷갈리는 초보에게는 비유로 안심시키며 천천히 짚어준다(§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 (detached HEAD 감지) git status --porcelain # 변경 파일 목록 git log --oneline -3 # 최근 저장 기록 3개 git remote -v # 원격 연결 상태 git stash list # 임시 저장(stash) 확인 ``` ### Step 2: 안전 검사 우선순위 순서로 검사하고, 문제 발견 시 즉시 안내 후 중단: 1. **`.git` 없음**: "여기는 Git 프로젝트 폴더가 아니에요. '깃 시작해줘'로 먼저 설정하세요." → 중단 2. **Detached HEAD**: "안전한 위치에서 벗어났어요. 자동으로 돌아갈게요." → 대상 브랜치(`main` 또는 `master`)가 **존재할 때만** `git checkout main` (또는 `master`) 실행 3. **Merge Conflict** (`UU`, `AA` 등): 충돌 파일 목록을 보여주고, 채팅 번호형 선택지로 해결 방법을 묻는다 (`shared/questioning-policy.md` §A): ```text 두 사람이 같은 파일의 같은 부분을 동시에 고쳐서 충돌이 생겼어요. 충돌 파일: {파일 목록} 질문: 어떻게 할까요? 1. 내가 수정한 걸로 유지 — 내 변경 내용을 사용해요 2. 상대방이 수정한 걸로 유지 — 상대방의 변경 내용을 사용해요 3. 문장으로 직접 수정 요청 ``` 선택에 따라: - "내 거 유지": `git checkout --ours {파일}` → `git add {파일}` - "상대방 거 유지": `git checkout --theirs {파일}` → `git add {파일}` 충돌 해결 후 "저장해줘"로 다음 단계를 안내한다. ### Step 3: 상태 번역 `git status --porcelain` 결과를 자연어로 번역한다: | Porcelain 코드 | 자연어 번역 | |---|---| | `M` (modified) | 수정됨 | | `A` (added) | 새로 추가됨 | | `D` (deleted) | 삭제됨 | | `R` (renamed) | 이름 바뀜 | | `??` (untracked) | 새 파일 (아직 Git이 모르는 파일) | ### Step 4: 결과 출력 상황별 출력 형식: #### 변경 사항이 있을 때 ``` 현재 상태: 변경된 파일 3개: - index.html (수정됨) - style.css (새 파일) - old-logo.png (삭제됨) 아직 저장(Commit)하지 않은 상태예요. 저장하려면 "저장해줘"라고 하세요. ``` #### 저장은 했지만 올리지 않았을 때 ``` 현재 상태: 저장(Commit)은 되어 있지만, 아직 내 컴퓨터에만 있어요. GitHub에 올리지 않은 저장이 2개 있어요: - "로고 변경" (10분 전) - "메인 페이지 수정" (30분 전) 클라우드에 올리려면 "올려줘"라고 하세요. ``` #### 모든 게 깨끗할 때 ``` 현재 상태: 깨끗해요! 모든 변경 내용이 저장되고 GitHub에도 올라가 있어요. 마지막 저장: "로고 변경" (10분 전) ``` #### 원격 연결이 없을 때 ``` 현재 상태: 이 폴더는 Git으로 관리되고 있지만, GitHub에 연결되어 있지 않아요. 연결하려면 "깃 시작해줘"라고 하세요. ``` ## Step 5: Branch 상태 안내 현재 브랜치 정보도 자연어로 번역한다. ```bash git branch --show-current git log --oneline origin/{branch}..HEAD 2>/dev/null # 올리지 않은 저장 git log --oneline HEAD..origin/{branch} 2>/dev/null # 내려받지 않은 변경 ``` ### 브랜치 상태별 출력 #### main/master 브랜치에 있을 때 ``` 현재 위치: main (기본 브랜치) ``` #### 별도 브랜치에 있을 때 ``` 현재 위치: feature/add-login (작업 브랜치) 기본 브랜치(main)에서 분기된 상태예요. ``` #### 올리지 않은 저장이 있을 때 ``` GitHub에 올리지 않은 저장이 2개 있어요: - "로그인 기능 추가" (10분 전) - "스타일 수정" (30분 전) ``` #### GitHub에 새 변경이 있을 때 ``` GitHub에 아직 내려받지 않은 변경이 1개 있어요. 최신 상태로 맞추려면 "내려받아줘"라고 하세요. ``` ## Step 6: Stash 상태 확인 ```bash git stash list ``` 임시 저장(stash)이 있으면 안내한다: ``` 임시로 보관 중인 변경 내용이 1개 있어요: - "작업 중이던 헤더 수정" (3일 전) 복원하려면 알려주세요. ``` ## 복합 상태 처리 여러 상태가 동시에 존재할 때 우선순위에 따라 가장 중요한 것을 먼저 보여준다. ### 우선순위 1. **충돌** (즉시 해결 필요) 2. **Detached HEAD** (위험한 상태) 3. **변경 사항 있음** (저장 권유) 4. **저장했지만 안 올림** (올리기 권유) 5. **GitHub 새 변경** (내려받기 권유) 6. **깨끗함** (모든 게 정상) ### 복합 상태 출력 예시 ``` 현재 상태: ⚠ 변경된 파일 2개: - index.html (수정됨) - style.css (새 파일) 또한, GitHub에 올리지 않은 이전 저장이 1개 있어요: - "로고 변경" (1시간 전) 먼저 "저장해줘"로 현재 변경을 저장한 뒤, "올려줘"로 모든 저장을 GitHub에 올리세요. ``` ## 다음 행동 안내 모든 상태 결과 끝에 다음 행동을 안내한다: | 상태 | 안내 | |------|------| | 변경 사항 있음 | "저장하려면 '저장해줘'라고 하세요" | | 저장만 됨 | "GitHub에 올리려면 '올려줘'라고 하세요" | | 깨끗함 | "모든 변경이 저장되고 올라가 있어요" | | 충돌 | 충돌 해결 선택지 제시 | | GitHub 새 변경 | "최신 내용을 받으려면 '내려받아줘'라고 하세요" | | 원격 미연결 | "'깃 시작해줘'로 GitHub에 연결하세요" | 여러 상태가 겹치면 위 우선순위에 따라 가장 시급한 것부터 안내하되, 전체 흐름을 함께 알려준다. ## 톤 - 클라우드 폴더 비유는 답을 더 명확하게 만들 때만 쓴다. - 구체적으로: 무엇이 바뀌었는지, 그게 무슨 뜻인지, 다음 안전한 행동이 무엇인지. - 사용자가 묻지 않으면 고급 Git 용어는 피한다.
عرض على GitHub