Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Use when starting a new task, creating a branch, switching branches, managing branches, creating and uploading CLs, handling stacked changes, or checking release and roll status in the DevTools Gerrit-based workflow. ALWAYS use this instead of running standard git checkout/switch commands for branch creation.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -8% | 0% |
| case-02 | ✗→✓ | ▲ Improved | 123% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -20% | 0% |
| case-07 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-11 | ✗→✓ | ▲ Improved | 49% | 0% |
> !IMPORTANT] > DO NOT use standard Git commands like git checkout -b or git switch -c to create branches. > In Chrome DevTools, you MUST always use git new-branch <branch-name> (or git new-branch --upstream_current <branch-name> for stacked CLs). Standard commands fail to configure the correct upstream tracking branch required by depot_tools and Gerrit.
Chrome DevTools uses Gerrit for code review. The standard workflow is one branch per Change List (CL) and one commit per branch. Instead of multiple commits, you amend your single commit locally.
To start a new task, create a new branch from main:
bashgit new-branch <branch-name>
Note: This automatically sets the upstream to origin/main.
git add <files>.git commit -m "Your message".To update your CL after feedback or more work:
git add <files>.git commit --amend.If CL B depends on CL A:
bash git new-branch --upstream_current <branch-B>
If you need to change the base of a branch (e.g., move CL B to be based on main instead of CL A):
bashgit reparent-branch main
Or to make it depend on another branch C:
bashgit reparent-branch <branch-C>
To update all your branches with the latest changes from main and their respective upstreams:
bashgit rebase-update
When a CL is ready, upload it with:
bashgit cl upload -f -d --commit-description="<description>"
-f (--force) so that git cl upload runs non-interactively without opening a text editor or prompting.To upload an updated CL:
bashgit cl upload -f -d -t "<one sentence patch set description>"
To check whether a DevTools commit (devtools/devtools-frontend) has rolled into chromium/src (Roll status) and what version or channel it is deployed to (Release status), look it up via the Chromium Dash API:
https://chromiumdash.appspot.com/fetch_commit?commit=<sha>
| Action | Command | | :--- | :--- | | Create new CL from main | git new-branch <name> | | Create stacked CL | git new-branch --upstream_current <name> | | Update current CL | git commit --amend | | Upload to Gerrit | git cl upload -f | | Change branch parent | git reparent-branch <new-parent> | | Sync all branches | git rebase-update | | Check release & roll status | Query https://chromiumdash.appspot.com/fetch_commit?commit=<sha> |
commit --amend.git checkout -b: Does not set up tracking information correctly for depot_tools. Use git new-branch.git rebase-update or git reparent-branch to let depot_tools handle the tracking updates.Other measured skills in the registry, with their headline benchmark lift.