b update
Update binaries and sync env files. If no arguments are given, b updates all binaries and envs from the b.yaml configuration file.
Alias
u
Usage
Examples
Update all binaries and envs
If a b.yaml file is present, this command will update all binaries to their latest versions and re-sync all env files.
Update a specific binary
Update a single binary to its latest version.
Force an update
Force an update even if the binary is already at the latest version. This is useful for re-installing a corrupted binary.
Update with merge strategy
Use the --strategy flag to control how env file updates handle local changes:
Merge strategies
| Strategy | Description |
|---|---|
replace | Overwrite local files with upstream content (default) |
client | Keep local files unchanged; only add new files from upstream |
merge | Three-way merge using the lock file as a common ancestor. Detects conflicts and prompts for resolution |
When using merge, b computes a three-way diff between:
- The base version (from
b.lock— last known good state) - The upstream version (latest from the remote repo)
- The local version (your current file on disk)
If both upstream and local have changed the same region, a conflict marker is inserted and the user is prompted to resolve it.
Env conflict warnings
When multiple env entries write to the same destination path, b warns about potential conflicts before syncing:
Flags
| Flag | Description |
|---|---|
--strategy | Merge strategy for env updates: replace, client, or merge |
-h, --help | help for update |
Global Flags
| Flag | Description |
|---|---|
-c, --config string | Path to configuration file (current: /home/fentas/github/fentas/b/.bin/b.yaml) |
--force | Force operations, overwriting existing binaries |
-q, --quiet | Quiet mode |
-v, --version | Print version information and quit |