User Management
Manage git user profiles across your workspace. Profiles store identity information (name, email, signing key) that can be assigned to repositories to configure their local git user.* settings.
Profiles can be created manually or auto-detected from includeIf directives in your git config. Identity is read through git config itself, so ~/.gitconfig, ~/.config/git/config, $GIT_CONFIG_GLOBAL, the system config and relative include paths are all honored.
Short-Flag Aliases
The user parent command supports short-flag aliases for common operations:
| Short Flag | Equivalent |
|---|---|
-l |
omgw user list |
-a |
omgw user add |
-s |
omgw user show |
-d |
omgw user remove |
When using -a, you can also pass --email, --name, --signing-key, and --sign-commits inline:
omgw user -a work --email work@company.com --name "Jane Doe"
List Profiles
omgw user list
List all stored and auto-detected user profiles.
Example output:
Stored Profiles:
NAME GIT NAME EMAIL SIGN
---- -------- ----- ----
personal Jane Doe jane@personal.dev ABC123 (signing on)
work Jane Doe jane.doe@company.com —
Auto-Detected Profiles:
NAME GIT NAME EMAIL SIGN
---- -------- ----- ----
oss Jane Doe jane@opensource.org —
(Auto-detected from git config includeIf directives)
Add Profile
omgw user add <name> [flags]
Create a new user profile.
Flags
| Flag | Required | Default | Description |
|---|---|---|---|
--email |
Yes | Email address for git commits | |
--name |
No | Profile name | Git user.name value |
--signing-key |
No | GPG signing key ID | |
--sign-commits |
No | false |
Enable commit signing (commit.gpgsign) |
Examples:
# Add a basic profile
omgw user add personal --email jane@personal.dev
# Add with a different git name
omgw user add work --email jane.doe@company.com --name "Jane Doe"
# Add with signing enabled
omgw user add secure --email jane@secure.dev --signing-key ABC123DEF456 --sign-commits
Show Profile
omgw user show <name>
Display detailed information about a profile, including how many repositories use it.
Example output:
Profile: personal
Git Name: Jane Doe
Email: jane@personal.dev
Signing Key: ABC123DEF456
Sign Commits: true
Used by 3 repositories
Remove Profile
omgw user remove <name>
Remove a stored user profile. If any repositories are currently using the profile, you will be prompted before removal.
Assign Profile
omgw user assign <repository> <profile> [flags]
Assign a user profile to a repository. This sets user.name and user.email (and optionally signing configuration) in the repository's local .git/config.
Flags
| Flag | Default | Description |
|---|---|---|
--use-subdirs |
false |
Move repository to profile subdirectory |
--dry-run |
false |
Preview changes without applying them |
Examples:
# Assign the "work" profile to a repository
omgw user assign my-api work
# Preview what would change
omgw user assign my-api work --dry-run
Sync Profiles
omgw user sync
Synchronize stored user information with the effective git configuration for all tracked repositories. This re-reads each repository's effective git configuration and updates the cached user, email, signing_enabled, and user_source fields in the workspace configuration.
When to use:
- After manually editing a repository's
.git/config - After changing your global git identity or
includeIfrules - To ensure the workspace config reflects the current state