vcs-detect
Detect whether the current project uses jj (Jujutsu) or git for version control. Run this BEFORE any VCS command to use the correct tool.
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
VCS Detection Skill
Detect the version control system in use before running any VCS commands.
Why This Matters
- jj (Jujutsu) and git have different CLIs and workflows
- Running
gitcommands in a jj repo (or vice versa) causes errors - Some repos use jj with git colocated (both
.jj/and.git/exist)
Detection Logic
Both jj root and git rev-parse --show-toplevel walk up the filesystem to find repo root.
Priority order:
-
jj rootsucceeds → jj (handles colocated too) -
git rev-parsesucceeds → git - Both fail → no VCS
Detection Command
if jj root &>/dev/null; then echo "jj"
elif git rev-parse --show-toplevel &>/dev/null; then echo "git"
else echo "none"
fi
Command Mappings
| Operation | git | jj |
|---|---|---|
| Status | git status |
jj status |
| Log | git log |
jj log |
| Diff | git diff |
jj diff |
| Commit | git commit |
jj commit / jj describe |
| Branch list | git branch |
jj branch list |
| New branch | git checkout -b <name> |
jj branch create <name> |
| Push | git push |
jj git push |
| Pull/Fetch | git pull / git fetch |
jj git fetch |
| Rebase | git rebase |
jj rebase |
Usage
Before any VCS operation:
- Run detection command
- Use appropriate CLI based on result
- If
none, warn user directory is not version controlled
Example Integration
User: Show me the git log
Agent: [Runs detection] -> Result: jj
Agent: [Runs `jj log` instead of `git log`]
Colocated Repos
When both .jj/ and .git/ exist, the repo is "colocated":
- jj manages the working copy
- git is available for compatibility (GitHub, etc.)
- Always prefer jj commands in colocated repos
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-28
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!