A PowerShell module that integrates Git and PowerShell with enhanced prompt status and tab completion.
posh-git is a PowerShell module that enhances the PowerShell command-line experience for Git users. It integrates Git status information directly into the PowerShell prompt and provides tab completion for Git commands and branch names, making Git operations faster and more intuitive within the shell.
PowerShell users who regularly work with Git repositories, including developers, system administrators, and DevOps engineers who want a more efficient Git workflow in their terminal.
It eliminates the need to constantly run `git status` by displaying repository state at a glance, and reduces typing errors with intelligent tab completion, streamlining the Git command-line experience specifically for PowerShell environments.
A PowerShell environment for Git
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Displays comprehensive Git repository status directly in the PowerShell prompt, including branch, ahead/behind counts, and file changes, as detailed in the status summary format with symbols like + for added files and ~ for modified files.
Enables tab completion for Git commands, branches, remotes, and file paths, reducing command recall effort, as shown with examples like 'git ch' cycling through 'checkout', 'cherry', and 'cherry-pick'.
Allows deep customization of the prompt via $GitPromptSettings, supporting colors, layouts, and additional text, with examples such as adding timestamps, multi-line prompts, or swapping status and path order.
Works on Windows PowerShell 5.x and PowerShell Core 6+ across Windows, Linux, and macOS, ensuring broad usability in diverse development environments, as highlighted in the installation instructions.
Can be prohibitively slow in very large Git repositories, requiring manual disabling of file status on a per-repo basis using $GitPromptSettings.RepositoriesInWhichToDisableFileStatus, as admitted in the customization section.
Installation involves multiple steps like adjusting PowerShell execution policies, importing the module, and editing profile scripts, which can be error-prone for less experienced users, as detailed in the prerequisites and using sections.
Version 1.x introduced breaking changes, such as removing SSH commands and requiring a separate module (posh-sshell), which may disrupt existing workflows and necessitate additional installations.