Tags & Versioning
Listing tags
pipe tag myorg/deployShows all local tags with their type, dirty status, and which one is HEAD:
TAG TYPE DIRTY HEADlatest symlink no *v1.0.0 symlink nodev editable yesCreating a tag
pipe tag myorg/deploy v1.0.0Creates a new tag pointing to HEAD’s current content. Uses blob deduplication — if the content already exists, no new blob is written.
To overwrite an existing tag:
pipe tag myorg/deploy v1.0.0 --forceDeleting a tag
pipe tag myorg/deploy v1.0.0 --deleteYou cannot delete the last remaining tag. Unused blobs are garbage collected automatically.
Switching tags
pipe switch myorg/deploy v1.0.0Updates HEAD to point to the specified tag. Without a tag argument, shows an interactive selection list:
pipe switch myorg/deployCreating an editable tag
pipe switch myorg/deploy -b devCreates a new editable tag (dev) as an independent copy of the current HEAD content, then switches to it. Editable tags are regular files (not symlinks), so you can modify them locally without affecting other tags.
Switching to a blob
You can switch directly to a content blob by its SHA-256 prefix:
pipe switch myorg/deploy abc123This puts the pipeline in a detached HEAD state, where HEAD points directly to a blob rather than a tag.
Tag types
| Type | Storage | Editable | Dirty detection |
|---|---|---|---|
| Symlink | Symlink to blob | No (read-only) | N/A |
| Editable | Regular file (copy) | Yes | Compares SHA-256 against index |
Tag naming rules
- 1–128 characters
- Lowercase alphanumeric, hyphens, dots
- Must start and end with a lowercase letter or digit
- No consecutive hyphens or dots