Rebase 代码验证
- 作者仓库星标 2,380
- 许可证 MIT
- 作者仓库 dotfiles
Rebase
Rebase the current branch onto a base branch, resolving conflicts and verifying tests along the way.
Step 1: Determine base branch
Determine the base branch in this order:
- Use
$ARGUMENTSif the user specifies a branch - Use
bin/base-branchif the script exists and is executable - Ask the user which branch to rebase onto
Step 2: Start the rebase
Fetch latest and begin the rebase:
git fetch origin
git rebase origin/<base-branch>
If the rebase completes with no conflicts, skip to Step 6.
Step 3: Resolve conflicts
- Identify the conflicting files with
git diff --name-only --diff-filter=U - Read each conflicting file and understand both sides of the conflict
- Resolve the conflict by taking both sides into account — don't blindly pick one side. Understand the intent of each change and produce a result that incorporates both correctly.
- Stage the resolved files with
git add
If a conflict is ambiguous and you can't confidently determine the correct resolution, ask the user.
Step 4: Run related tests
Run the tests related to the files that had conflicts. If tests fail due to the conflict resolution, fix them before proceeding.
If tests fail but seem unrelated to the rebase, verify by stashing and testing:
git stash
# run tests again
git stash pop
- If tests also fail without your changes, the failures are pre-existing. Note this for the user and continue.
- If tests only fail with your changes, the rebase introduced the problem. Investigate and fix.
If you are unable to resolve test failures, let the user know what's broken and what you tried.
Step 5: Continue the rebase
git rebase --continue
If there are more conflicts, go back to Step 3. Repeat until the rebase is complete.
Step 6: Check remote and compare
Check if a remote tracking branch exists:
git rev-parse --verify @{u} 2>/dev/null
If a remote branch exists, run the /remote-diff skill to compare the rebase result against the remote and flag any potential issues.
If no remote branch exists, skip this step and report that the rebase is complete.
- 流狐分类
- 工程开发
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 94 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @ryanb · MIT
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 需简单配置
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- 未声明
- 底层运行要求
- 未声明
- 检测到的文件与系统行为
-
- 只读
- Shell 执行
- 检测到的网络行为
- 允许外网请求
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 Determine the base branch in this order: Use $ARGUMENTS if the user specifies a branch Use bin/base-branch if the script exists and is executable
Fetch latest and begin the rebase: If the rebase completes with no conflicts, skip to Step 6.
Identify the conflicting files with git diff --name-only --diff-filter=U Read each conflicting file and understand both sides of the conflict Resolve the conflict by taking both sides into account — don't blindly pick one side. Understand the intent of each…
Run the tests related to the files that had conflicts. If tests fail due to the conflict resolution, fix them before proceeding. If tests fail but seem unrelated to the rebase, verify by stashing and testing: If tests also fail without your changes, the…
If there are more conflicts, go back to Step 3. Repeat until the rebase is complete.
Check if a remote tracking branch exists: If a remote branch exists, run the /remote-diff skill to compare the rebase result against the remote and flag any potential issues. If no remote branch exists, skip this step and report that the rebase is complete.
# Rebase
Rebase the current branch onto a base branch, resolving conflicts and verifying tests along the way.
## Step 1: Determine base branch
Determine the base branch in this order:
1. Use `$ARGUMENTS` if the user specifies a branch
2. Use `bin/base-branch` if the script exists and is executable
3. Ask the user which branch to rebase onto
## Step 2: Start the rebase
Fetch latest and begin the rebase:
```bash
git fetch origin
git rebase origin/<base-branch>
```
If the rebase completes with no conflicts, skip to Step 6.
## Step 3: Resolve conflicts
1. Identify the conflicting files with `git diff --name-only --diff-filter=U`
2. Read each conflicting file and understand both sides of the conflict
3. Resolve the conflict by taking both sides into account — don't blindly pick one side. Understand the intent of each change and produce a result that incorporates both correctly.
4. Stage the resolved files with `git add`
If a conflict is ambiguous and you can't confidently determine the correct resolution, ask the user.
## Step 4: Run related tests
Run the tests related to the files that had conflicts. If tests fail due to the conflict resolution, fix them before proceeding.
If tests fail but seem **unrelated** to the rebase, verify by stashing and testing:
```bash
git stash
# run tests again
git stash pop
```
- If tests also fail without your changes, the failures are pre-existing. Note this for the user and continue.
- If tests only fail with your changes, the rebase introduced the problem. Investigate and fix.
If you are unable to resolve test failures, let the user know what's broken and what you tried.
## Step 5: Continue the rebase
```bash
git rebase --continue
```
If there are more conflicts, go back to Step 3. Repeat until the rebase is complete.
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> Step 1: Determine base branch → Step 2: Start the rebase → Step 3: Resolve conflicts → Step 4: Run related tests → Step 5: Continue the rebase → Step 6: Check remote and compare
要点 -> unrelated · Rebase the current branch onto a base branch, resolving conflicts and verifying tests along the way. · Determine the base branch in this order: 1. · If the rebase completes with no conflicts, skip to Step 6. · 1. Identify the conflicting files with git diff --name-only --diff-filter=U 2. · If a conflict is ambiguous and you can't confidently determine the correct resolution, ask the user. · Run the tests related to the files that had conflicts. · - If tests also fail without your changes, the failures are pre-existing.
文件/命令 -> $ARGUMENTS · bin/base-branch · git diff --name-only --diff-filter=U · git add · /remote-diff
内容 SHA-256 -> 8a5cdd456604
方法与流程
适用与边界
原文中的明确线索
$ARGUMENTS、bin/base-branch、git diff --name-only --diff-filter=U、git add、/remote-diff