通过 Protocol Launcher 的 X-Callback-URL 命令,你可以在 iOS 设备上轻松完成 commit、push、pull 等核心 Git 操作。
试试这些场景:
- 在通勤路上发现代码问题,快速提交修复
- 在咖啡馆用 iPad 完成代码审查并推送更改
- 随时拉取最新代码保持同步
- 查看提交历史了解项目进展
- 检查文件状态确认更改内容
Protocol Launcher 让这一切成为可能。
核心能力:提交与同步命令
Protocol Launcher 为 Working Copy 提供了完整的提交与同步命令集:
- 提交更改 (
commit):提交本地更改到仓库 - 推送提交 (
push):将本地提交推送到远程仓库 - 拉取更改 (
pull):从远程仓库拉取并合并更改 - 获取远程 (
fetch):从远程仓库获取最新信息 - 检查状态 (
status):查看文件更改状态 - 查看日志 (
log):获取提交历史记录
快速上手
确保已安装 Protocol Launcher:
bash
npm install protocol-launcher
导入提交与同步相关的命令:
typescript
// ✅ 推荐:按需加载
import {
commit,
push,
pull,
fetch,
status,
log,
} from 'protocol-launcher/working-copy'
场景一:提交更改 (commit)
提交本地更改到仓库,支持指定提交消息和文件路径:
typescript
import { commit } from 'protocol-launcher/working-copy'
const url = commit({
key: 'commit-001',
repo: 'my repo',
path: '', // 空字符串表示所有更改
limit: 999, // 限制提交的文件数量
message: 'fix: 修复紧急问题',
})
提示:
path参数可以指定具体文件路径,实现部分提交。
场景二:推送提交 (push)
将本地提交推送到远程仓库:
typescript
import { push } from 'protocol-launcher/working-copy'
const url = push({
key: 'push-001',
repo: 'my repo',
})
提交完成后,用此命令将更改同步到远程仓库。
场景三:拉取更改 (pull)
从远程仓库拉取最新更改并自动合并:
typescript
import { pull } from 'protocol-launcher/working-copy'
const url = pull({
key: 'pull-001',
repo: 'my repo',
})
开始工作前,先拉取最新代码避免冲突。
场景四:获取远程信息 (fetch)
从远程仓库获取最新信息但不合并:
typescript
import { fetch } from 'protocol-launcher/working-copy'
const url = fetch({
key: 'fetch-001',
repo: 'my repo',
})
适合先查看远程状态再决定是否合并。
场景五:检查文件状态 (status)
查看仓库中文件的更改状态:
typescript
import { status } from 'protocol-launcher/working-copy'
const url = status({
key: 'status-001',
repo: 'my repo',
unchanged: true, // 是否显示未更改的文件
})
提交前检查状态,确认更改内容符合预期。
场景六:查看提交日志 (log)
获取仓库的提交历史记录:
typescript
import { log } from 'protocol-launcher/working-copy'
const url = log({
key: 'log-001',
repo: 'my repo',
})
了解项目历史,查看最近的提交记录。
实战演示:完整的提交同步工作流
假设你在外出时需要完成一个功能开发并推送,完整流程如下:
typescript
import {
status,
commit,
pull,
push,
log,
} from 'protocol-launcher/working-copy'
// 1. 检查当前状态
const checkStatus = status({
key: 'workflow-status',
repo: 'my-project',
unchanged: false,
})
// 2. 先拉取最新代码避免冲突
const pullLatest = pull({
key: 'workflow-pull',
repo: 'my-project',
})
// 3. 提交本地更改
const commitChanges = commit({
key: 'workflow-commit',
repo: 'my-project',
path: '',
limit: 999,
message: 'feat: 完成新功能开发',
})
// 4. 推送到远程仓库
const pushChanges = push({
key: 'workflow-push',
repo: 'my-project',
})
// 5. 查看提交历史确认
const viewLog = log({
key: 'workflow-log',
repo: 'my-project',
})
参数详解
commit 命令参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
key |
string | ✅ | 请求唯一标识 |
repo |
string | ✅ | 仓库名称 |
path |
string | ❌ | 文件路径,空字符串表示所有更改 |
limit |
number | ❌ | 限制提交的文件数量 |
message |
string | ✅ | 提交消息 |
status 命令参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
key |
string | ✅ | 请求唯一标识 |
repo |
string | ✅ | 仓库名称 |
unchanged |
boolean | ❌ | 是否显示未更改的文件 |
为什么选择 Protocol Launcher?
-
类型安全的提交操作:TypeScript 类型定义确保提交消息等必填参数不遗漏。
-
灵活的参数配置:支持部分提交、限制文件数量等高级选项。
-
完整的同步流程:从状态检查到推送,覆盖完整的 Git 工作流。
-
移动端友好:命令参数简洁,生成的 URL 适合在移动设备上点击执行。
-
支持回调追踪 :通过
key参数追踪每个操作的执行状态。
注意事项
注意: 推送和拉取操作需要仓库已配置远程仓库地址。
提示: 提交前建议先执行pull操作,避免合并冲突。
警告: 在移动设备上执行 Git 操作时,确保网络连接稳定,避免操作中断。
结语
通过 Protocol Launcher 的提交与同步命令,你可以在移动设备上完成完整的 Git 工作流。无论是紧急修复还是日常开发,都能保持代码同步和版本管理的连续性。
下一篇,我们将介绍 Working Copy 的文件操作与高级命令,包括文件读写、移动、压缩等实用功能。
🔗 相关链接
- Protocol Launcher 官网:https://protocol-launcher.huayi-data.com/
- Working Copy 模块文档:Working Copy | Protocol Launcher