← ClaudeAtlas

git-pushlisted

一键推送项目到 GitHub。自动扫描大文件、生成 .gitignore、初始化 Git、创建仓库并推送。支持首次推送、日常更新、版本发布三种模式。当用户说"推到GitHub"、"推送到GitHub"、"git push"、"上传到GitHub"、"发版本"、"打release"、"/git-push"时触发。
aiskillstore/marketplace · ★ 329 · Code & Development · score 79
Install: claude install-skill aiskillstore/marketplace
# 一键推送 GitHub ## 功能说明 把当前项目一键推送到 GitHub,覆盖完整生命周期: - **首次推送** — 新项目从零到 GitHub - **日常更新** — 改了文件,推一下(commit + push) - **版本发布** — 打 tag + 创建 Release,可附带下载文件 核心原则:**安全第一**。宁可多问一句,不能把不该推的东西推上去。 --- ## 工作流程 ### 第0步:环境检查 + 模式判断 依次检查前置条件,任一不满足就终止并给出指引: **1. git 是否安��** - ❌ → 提示:`brew install git`,终止 - ✅ → 继续 **2. gh CLI 是否安装** - ❌ → 提示:`brew install gh`,终止 - ✅ → 继续 **3. gh 是否已登录 GitHub** - 执行 `gh auth status` 检查 - ❌ 未登录 → 提示:`gh auth login`,终止 - ✅ 已登录 → 记录账号名,告诉用户"当前登录账号:[xxx]",继续 **4. git 用户信息是否配置** - 执行 `git config user.name` 和 `git config user.email` 检查 - ❌ 未配置 → 提示用户设置: ``` git config --global user.name "你的名字" git config --global user.email "你的邮箱" ``` 终止 - ✅ 已配置 → 继续 **5. 当前目录是否已是 git 仓库 → 决定走哪条路** ``` 不是 git 仓库 → 【首次推送】从第1步开始 是 git 仓库,无 remote → "本地有 git 但没关联远程" → 先执行第1步的大文件扫描(确保安全) → 再跳到第2步关联远程 是 git 仓库,有 remote → 【已有仓库】进入模式选择: ├── "推日常更新" → 跳到第3B步(日常更新) ├── "发新版本" → 检查是否有未提交的变更 │ ├── 有变更 → 先走第3B步,再走第4步 │ └── 无变更 → 直接跳到第4步(只打 tag + Release) └── "重新来" → ⚠️ 警告:"这将删除所有 Git 历史记录(包括所有提交、分支、tag),不可恢复。" → 用户二次确认后删除 .git,从第1步开始 ``` --- ### 第1步:项目扫描 + .gitignore 生成 > **⚠️ 铁律:.gitignore 必须在第一次 `git add` 之前就位。绝不能先提交再排除——Git 历史里的大文件删不干净,会导致仓库臃肿、推送失败。** #### 1.1 扫描目录大小 用 `du -sh` 扫描所有顶级目录和文件,按大小排序。 **大文件分级处理:** | 大小 | 处理方式 | |------|----------| | **>10MB** | 列出,逐个问用户"要推吗?" | | **>50MB** | 额外警告"较大,推送会比较慢" | | **单文件 >100MB** | **必须排除**,GitHub 硬限制,推不上去 | **展示格式**(示例): ``` 扫描发现以下内容超过 10MB: 1. 109MB slides/