Loading...
Loading...
Compare original and translation side by side
| 序号 | 规则 | 原因 |
|---|---|---|
| 1 | 不要输出 Token:任何命令都不得把 | 防止泄露 |
| 2 | 危险操作二次确认:删分支、清空目录、强制覆盖、强推、直推 main | 可逆性差 |
| 3 | 默认用“分支 + PR”协作;只有用户明确要求才“直推 main” | 降低对主分支破坏 |
| 4 | push/pull 前先 | 防止误提交/误覆盖 |
| No. | Rule | Reason |
|---|---|---|
| 1 | Do not output Token: No command shall echo/print | Prevent leakage |
| 2 | Secondary confirmation for dangerous operations: Delete branch, empty directory, force overwrite, force push, push directly to main | Poor reversibility |
| 3 | Use "branch + PR" collaboration by default; only push directly to main when explicitly requested by the user | Reduce damage to the main branch |
| 4 | Run | Prevent accidental commits/overwrites |
sh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh <command> [options]脚本在“当前 git 仓库目录”下运行(必须在仓库内)。
sh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh <command> [options]The script runs in the "current git repository directory" (must be inside the repository).
| 序号 | 类别 | 操作 | 一句话解释 | 常用命令 | 脚本支持 |
|---|---|---|---|---|---|
| 1 | 初始化 | init | 把当前目录变成 git 仓库 | | |
| 2 | 获取代码 | clone | 从远端下载仓库到本地 | | |
| 3 | 远端 | remote | 管理 origin/upstream 等远端 | | |
| 4 | 分支 | branch | 查看/创建/删除分支 | | |
| 5 | 切换 | checkout/switch | 切换到某分支 | | |
| 6 | 查看变更 | status/diff/log | 看工作区改动/差异/历史 | | |
| 7 | 暂存 | add | 把改动加入暂存区 | | |
| 8 | 提交 | commit | 把暂存区打包成一次提交 | | |
| 9 | 同步 | fetch/pull/push | 拉取/合并/推送提交 | | |
| 10 | 合并 | merge/rebase | 合并分支历史 | | |
| 11 | 暂存栈 | stash | 临时收起未提交改动 | | |
| 12 | 标签 | tag | 给提交打版本号 | | |
| 13 | 子模块 | submodule | 管理子仓库依赖 | | |
| 15 | GitHub 平台 | issues/labels/milestones/releases/actions | 通过 GitHub API 管理平台对象 | (API) | |
注:脚本的定位是“把常用基础操作变成可复用命令”。遇到复杂 rebase/冲突,仍建议用交互式终端处理。
| No. | Category | Operation | One-sentence Explanation | Common Commands | Script Support |
|---|---|---|---|---|---|
| 1 | Initialization | init | Turn the current directory into a git repository | | |
| 2 | Get Code | clone | Download repository from remote to local | | |
| 3 | Remote | remote | Manage remotes like origin/upstream | | |
| 4 | Branch | branch | View/create/delete branches | | |
| 5 | Switch | checkout/switch | Switch to a certain branch | | |
| 6 | View Changes | status/diff/log | View workspace changes/differences/history | | |
| 7 | Stage | add | Add changes to the staging area | | |
| 8 | Commit | commit | Package the staging area into a commit | | |
| 9 | Sync | fetch/pull/push | Pull/merge/push commits | | |
| 10 | Merge | merge/rebase | Merge branch history | | |
| 11 | Stash | stash | Temporarily store uncommitted changes | | |
| 12 | Tag | tag | Add version number to a commit | | |
| 13 | Submodule | submodule | Manage sub-repository dependencies | | |
| 15 | GitHub Platform | issues/labels/milestones/releases/actions | Manage platform objects via GitHub API | (API) | |
Note: The script is positioned to "turn common basic operations into reusable commands". For complex rebase/conflicts, it is still recommended to use interactive terminal processing.
统一要求:需要 env。GITHUB_TOKEN
| 序号 | command | 作用 |
|---|---|---|
| 1 | `gh-issues-list --repo <owner/repo> [--state open | closed |
| 2 | | 创建 Issue |
| 3 | | 关闭 Issue |
| 4 | | 列出 labels |
| 5 | | 创建 label |
| 6 | `gh-milestones-list --repo <owner/repo> [--state open | closed |
| 7 | | 创建 milestone |
| 8 | | 列出 releases |
| 9 | `gh-release-create --repo <owner/repo> --tag <vX.Y.Z> --name <n> [--body <b>] [--draft true | false] [--prerelease true |
| 10 | | 列出 workflows |
| 11 | | 手动触发 workflow_dispatch |
Unified requirement: Requires env.GITHUB_TOKEN
| No. | Command | Function |
|---|---|---|
| 1 | `gh-issues-list --repo <owner/repo> [--state open | closed |
| 2 | | Create Issue |
| 3 | | Close Issue |
| 4 | | List labels |
| 5 | | Create label |
| 6 | `gh-milestones-list --repo <owner/repo> [--state open | closed |
| 7 | | Create milestone |
| 8 | | List releases |
| 9 | `gh-release-create --repo <owner/repo> --tag <vX.Y.Z> --name <n> [--body <b>] [--draft true | false] [--prerelease true |
| 10 | | List workflows |
| 11 | | Manually trigger workflow_dispatch |
| 序号 | command | 作用 |
|---|---|---|
| 2 | | clone 仓库到指定目录 |
| 3 | | 显示当前 remotes |
| 4 | | 添加远端 |
| 5 | | 修改远端 URL |
| 6 | | 删除远端 |
| 7 | | 添加 upstream remote |
| 8 | | |
| 9 | | 查看差异 |
| 10 | | 查看最近提交 |
| 11 | | 列出本地与远程分支 |
| 12 | | 创建分支 |
| 13 | | 切换分支 |
| 14 | | 删除除 keep 外的本地/远程分支 |
| 15 | | |
| 16 | | |
| 17 | | 拉取远端更新 |
| 18 | | 拉取并合并 |
| 19 | | 推送 |
| 20 | | push 当前 main 到 origin(使用 token 非交互) |
| 21 | | 清空仓库内某目录但保留目录(用 .gitkeep) |
| 22 | | 用本机目录覆盖恢复到仓库目录(会先删除 dst 内容) |
| 23 | | 通过 GitHub API 创建 PR |
| 24 | | GitHub 平台对象操作(issues/labels/milestones/releases/actions) |
| No. | Command | Function |
|---|---|---|
| 2 | | Clone repository to the specified directory |
| 3 | | Display current remotes |
| 4 | | Add remote |
| 5 | | Modify remote URL |
| 6 | | Delete remote |
| 7 | | Add upstream remote |
| 8 | | |
| 9 | | View differences |
| 10 | | View recent commits |
| 11 | | List local and remote branches |
| 12 | | Create branch |
| 13 | | Switch branch |
| 14 | | Delete local/remote branches except the kept one |
| 15 | | |
| 16 | | |
| 17 | | Pull remote updates |
| 18 | | Pull and merge |
| 19 | | Push |
| 20 | | Push current main to origin (non-interactive using token) |
| 21 | | Empty a directory in the repository but keep the directory (using .gitkeep) |
| 22 | | Overwrite and restore to the repository directory using local directory (will delete dst content first) |
| 23 | | Create PR via GitHub API |
| 24 | | GitHub platform object operations (issues/labels/milestones/releases/actions) |
sh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh empty-dir --dir self-improving-agent
sh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh restore-dir --src /var/minis/skills/self-improving-agent --dst self-improving-agent
sh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh commit --message "restore(self-improving-agent): sync from local"
sh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh push-mainsh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh empty-dir --dir self-improving-agent
sh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh restore-dir --src /var/minis/skills/self-improving-agent --dst self-improving-agent
sh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh commit --message "restore(self-improving-agent): sync from local"
sh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh push-mainundefinedundefined
执行要点:
- 用户说“只内容替换”时,统一理解为:**保留仓库中的原文件路径与文件名,仅覆盖内容**。
- 不要把源文件名直接放进仓库;目标仍应是仓库里原本那个文件(例如 `worker.js`)。
- 若目标路径已知,直接覆盖该路径;若未知,先在仓库中定位目标文件再替换。
- 提交前若报 `Author identity unknown`,可在当前仓库写入:
- `git config user.name '<GitHub显示名>'`
- `git config user.email '<login>@users.noreply.github.com'`
- 默认先 `git fetch` + `git reset --hard origin/main`,避免在旧工作树上误提交。
- 若用户已经明确要求“提交”“推送”,可直接继续执行,无需重复确认。
Execution points:
- When the user says "only content replacement", it is uniformly understood as: **Retain the original file path and file name in the repository, only overwrite the content**.
- Do not directly put the source file name into the repository; the target should still be the original file in the repository (e.g., `worker.js`).
- If the target path is known, directly overwrite the path; if unknown, locate the target file in the repository first before replacement.
- If `Author identity unknown` is reported before commit, write the following in the current repository:
- `git config user.name '<GitHub Display Name>'`
- `git config user.email '<login>@users.noreply.github.com'`
- By default, run `git fetch` + `git reset --hard origin/main` first to avoid accidental commits on the old working tree.
- If the user has explicitly requested "commit" or "push", you can continue execution directly without repeated confirmation.sh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh delete-branches --keep mainsh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh delete-branches --keep mainsh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh pr \
--upstream OpenMinis/MinisSkills \
--head mowenyun:main \
--base main \
--title "sync: ..." \
--body "..."编号编号 | 仓库(owner/repo) | 可见性 | Fork | 默认分支 | 最近更新 | URL备注:若用户需要更多字段(description、language、stars),再加扩展。--json ...
| 序号 | 现象 | 处理 |
|---|---|---|
| 1 | push 报 | 需要 env |
| 2 | API 401/403 | token 权限不足(repo/public_repo)或过期 |
| 3 | | 先 |
sh /var/minis/skills/github-sync-helper/scripts/gh_sync.sh pr \
--upstream OpenMinis/MinisSkills \
--head mowenyun:main \
--base main \
--title "sync: ..." \
--body "..."No.No. | Repository(owner/repo) | Visibility | Fork | Default Branch | Last Updated | URLNote: If users need more fields (description, language, stars), addto expand.--json ...
| No. | Phenomenon | Solution |
|---|---|---|
| 1 | Push reports | Requires env |
| 2 | API 401/403 | Insufficient token permissions (repo/public_repo) or expired |
| 3 | | First |