gitid

command module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2025 License: MIT Imports: 12 Imported by: 0

README ΒΆ

Git Identity Manager (gitid)

A terminal-based tool that helps developers manage multiple Git identities easily through an interactive interface.

demo

Features

  • πŸ”„ Switch between multiple Git identities with ease
  • 🏷️ Optional nicknames for quick identity identification
  • βž• Add new identities interactively
  • πŸ—‘οΈ Delete unwanted identities
  • πŸ’» Terminal-based UI with keyboard navigation
  • πŸ”’ Uses Git's built-in configuration system
  • πŸ” Smart identity matching by nickname, name, or email

Installation

From Binary

Download the appropriate binary for your platform from the releases page.

From Package (Linux)
Debian/Ubuntu:
sudo dpkg -i gitid_*.deb
RedHat/Fedora:
sudo rpm -i gitid_*.rpm
Building from Source
Prerequisites
  • Go 1.21 or later
  • Make
  • NFPM (for package generation)
Build Commands
# Build for your current platform
make build

# Build static binary (Linux only)
make build-static

# Create releases for all platforms and packages
make release

# Clean build artifacts
make clean

Usage

Run gitid to start the interactive interface.

Keyboard Controls
  • ↑/↓ or j/k - Navigate through identities
  • Enter - Select identity or confirm action
  • D - Delete selected identity
  • E - Edit nickname for selected identity
  • ←/β†’ - Navigate confirmation dialog
  • Esc - Cancel current action
  • q - Quit application
Managing Identities
  • Switch Identity: Select an identity from the list and press Enter
  • Add Identity: Select "Add new identity" and follow the prompts
    • Name and email are required
    • Nickname is optional but helps with quick identification
  • Edit Nickname: Select "Edit nickname" for existing identities
  • Delete Identity: Navigate to an identity and press D, then confirm
Shell Completions

GitID supports shell completions for Bash, Zsh, and Fish to provide tab-completion for commands and arguments.

Installation
# Install for your current shell (auto-detected)
gitid completion bash    # For Bash
gitid completion zsh     # For Zsh  
gitid completion fish    # For Fish
Removal
# Remove completions
gitid completion bash -r    # Remove Bash completions
gitid completion zsh -r     # Remove Zsh completions
gitid completion fish -r    # Remove Fish completions

After installation, restart your shell or source your configuration file (e.g., source ~/.bashrc or source ~/.zshrc).

Nicknames

Nicknames are optional short identifiers that make it easier to distinguish between identities:

  • Display: Identities with nicknames show as nickname (Name <email>)
  • Without nicknames: Shows as Name <email> (backwards compatible)
  • Adding nicknames: Available when creating new identities or editing existing ones
  • Smart matching: Future CLI will support switching by nickname, name, or email

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Documentation ΒΆ

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL