30 open-source projects similar to visionmedia/git-extras, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Git Extras alternative.
git-extras is a collection of command line utilities that extend the functionality of the Git version control system. It provides a suite of shortcuts and additional commands for history manipulation, remote management, repository analysis, and workflow automation. The project distinguishes itself by offering deep integration with hosting providers to manage pull requests and forks, alongside advanced history tools for obliterating sensitive files and rewriting author metadata. It also includes a specialized interactive shell that allows users to execute commands without repeating the binary
Scc is a codebase analysis tool written in Go that calculates source lines of code, blank lines, and comments across hundreds of programming and markup languages. It functions as a source code metric engine, software complexity analyzer, and cost estimator. The project differentiates itself by providing a COCOMO cost estimator to predict development effort and financial costs, alongside tools to estimate the cost of regenerating a codebase using large language models. It also includes a Git repository metrics tool that correlates commit history with codebase metrics to identify hotspots, trac
posh-git is a PowerShell extension that provides a Git prompt and a set of toolsets for enhancing terminal productivity. It integrates Git status and branch information directly into the PowerShell command prompt and provides a toolkit for customizing the appearance, colors, and path formatting of the shell session. The project distinguishes itself by providing command line autocompletion for Git commands, branch names, and file paths. It also includes an SSH agent manager with wrapper commands to start, stop, and monitor the status of secure shell agent processes. The software covers broade
git-blame-someone-else is a Git authorship rewriter and commit history editor designed to modify the identity information stored within a repository's commit history. It serves as a metadata modifier that replaces the author and committer details of existing commits to reattribute code changes to different users. The tool focuses on Git identity management and repository maintenance, allowing for the update of old commit signatures and emails. This enables the correction of metadata across a project history when contributor accounts change or were entered incorrectly.
Commitizen is a command-line utility designed to enforce consistent commit message formatting within version control systems. By guiding developers through interactive prompts, the tool ensures that every commit adheres to predefined standards, resulting in a predictable and searchable project history. The system utilizes a plugin-based adapter pattern that allows for the dynamic loading of custom commit formats and validation logic. This configuration-driven approach enables teams to define specific templates for message construction, which are then populated via user input to maintain stric
GitExtensions is a graphical user interface client for managing Git repositories. It provides a suite of visual tools for browsing commit logs, staging changes, and tracking file evolution across a project's history. The project features a commit visualizer that maps branch and merge relationships via a graphical map and a dedicated history manager for performing interactive rebases and squashing commits. It includes a visual merge conflict resolver to identify and fix overlapping code changes during merges or history rewrites. The software covers broad version control capabilities, includin
Bit is a command line interface and workflow wrapper for Git that simplifies repository management through high-level commands and automated synchronization. It functions as an interactive shell tool that reduces manual operations by combining staging, committing, and pushing into streamlined workflows. The tool distinguishes itself by integrating directly with version control providers to allow users to view and check out pull requests from the terminal. It also features an intelligent completion system that provides contextual tab-completion and flag suggestions for file paths, branch names
bash-git-prompt is a Bash shell extension and prompt customizer that integrates real-time Git status indicators directly into the terminal. It functions as a shell theme that displays branch names, commit divergence, and file status markers within the command line interface. The project distinguishes itself through a hierarchical configuration system that allows for directory-specific overrides of global settings. It includes performance tuning options to maintain shell responsiveness in large repositories by selectively disabling expensive operations such as remote fetching or untracked file
Hub is a git command line tool and GitHub API client that provides a shell interface for automating workflows. It functions as a GitHub git wrapper, extending standard git commands to include direct management of repositories, issues, and pull requests. The tool integrates REST API communication with a wrapper-based execution model to perform administrative tasks without a web browser. It utilizes OAuth-based authentication and a local configuration store to secure API requests. The utility includes shell command completion and argument parsing to improve terminal productivity. It also suppo
Gitflow is a Git branching model extension and workflow automation tool. It provides a set of command line tools and automated scripts to manage feature development, release cycles, and hotfixes using standard Git operations. The project coordinates software releases and versioning through the management of dedicated release and support branches. It automates the creation and merging of branches to maintain a structured development cycle and manage the transition of code from development to production. The tool covers the full lifecycle of several branch types, including the isolation of new
gitmoji-cli is a command line interface and Git extension used to generate structured commit messages with standardized emojis. It functions as a commit message generator that allows users to visually categorize code changes and track modifications through a predefined library of visual icons. The tool provides an interactive workflow that replaces raw text entry with guided prompts for selecting categories, scopes, and descriptions. It includes a searchable emoji library with keyword-based indexing and local caching to facilitate the selection of accurate visual markers. The project support
git-standup is a command-line tool and developer activity tracker that parses Git logs to generate summarized text reports of work completed over specific time periods. It functions as a reporting utility that scans Git repositories to extract metadata and author activity for use in progress reviews and status updates. The tool differentiates itself by the ability to scan multiple repositories through recursive directory discovery and the capacity to synchronize remote states before analysis. It utilizes regular expression filtering to include or exclude specific authors and branches, and emp
Hello Git is an educational platform designed to teach the fundamentals of version control and collaborative software development. It provides a structured curriculum that guides users through the core concepts of tracking code changes, managing project history, and implementing effective branching strategies. The project distinguishes itself by offering a comprehensive set of learning materials, including video lessons and guides, specifically tailored to help beginners master command-line operations. It covers the practical application of distributed version control, focusing on how to sync
Gitui is a terminal user interface and repository manager built with Rust. It provides a keyboard-driven visual environment for performing version control operations without the need to type manual command line arguments. The application enables the management of Git branches, commits, and remote synchronization, alongside capabilities for stashing temporary work and managing submodules. It includes support for GPG commit signing to verify identity through cryptographic signatures. Users can customize the experience through keyboard shortcut rebinding and visual theme adjustments. The interf
Sourcerer App is a developer experience dashboard and Git repository analyzer that extracts statistical data to build technical skill profiles. It functions as a GitHub profile visualizer, creating a graphical representation of a programmer's expertise based on actual code usage across multiple software projects. The tool generates developer portfolios by analyzing commit history across various repositories to quantify experience with specific programming languages and libraries. It maps technical experience to visualize the breadth and depth of a developer's stack. The system supports local
git-quick-stats is a command-line tool for calculating commit counts, line changes, and contributor metrics from Git history. It functions as a repository statistics tool, metrics generator, and contribution analyzer that extracts quantitative data from Git logs. The tool distinguishes itself through the ability to generate frequency maps and activity trends to visualize development momentum over time. It provides specific controls to isolate project history by toggling the visibility of merge commits. The software covers a broad range of analytics, including contributor impact tracking and
This project is a curated collection of command reference guides and workflow documentation for Git. It provides a structured set of shell commands and practical techniques for managing version control and repository history. The guide focuses on specific high-level operational areas, including repository debugging via binary search and log inspection, the manipulation of commit history through squashing and rewording, and the synchronization of remote repositories. It also covers techniques for auditing project evolution and managing remote references. Additional capabilities cover general
git-flight-rules is a collection of curated guidelines, operational resources, and a command reference for managing version control with Git. It provides a set of procedure-based rules and best practices designed to organize code history, branches, and collaborative development. The project distinguishes itself by providing structured workflows for complex history manipulation and data recovery. This includes specific guidance on rewriting commit history to remove sensitive data, using the reference log to recover lost work, and employing binary searches to isolate regressions. The resource
git-stats is a git statistics analyzer and contribution calendar tool. It extracts commit data from local repositories to visualize contribution frequency and activity patterns through a visual grid of commit activity. The project functions as a local git data exporter and analyzer, converting version history into machine-readable JSON format for external reporting. It utilizes local-first data processing to interpret commit history directly from the system without requiring remote API access. The tool covers developer productivity analytics and git history reporting, providing command-line
git-sizer is a repository size analyzer and auditing tool used to calculate the size of Git objects, references, and commit histories. It functions as a blob and commit auditor, a history depth profiler, and a checkout weight calculator to identify performance bottlenecks within a Git store. The tool identifies oversized files and bloated commits to assist with repository maintenance and storage analysis. It detects large objects and measures the depth of commit chains and annotated tags to analyze repository complexity and bloat. The software covers version control auditing and performance
GitButler is a desktop application designed for managing Git version control workflows. It provides a visual interface for organizing concurrent development tasks, allowing users to work on multiple features or bug fixes simultaneously within a single repository without the need for manual context switching. The application utilizes a virtual file system overlay and in-memory staging to track granular file modifications independently of the underlying version control system. It features a conflict isolation engine that breaks down complex merge conflicts into smaller, manageable segments, and
Git-filter-repo is a command-line utility designed for the permanent modification and restructuring of Git repository history. It functions as a maintenance tool for cleaning project data, enabling users to reorganize file structures, update commit metadata, and purge sensitive information such as credentials or large blobs from the entire commit graph. The tool distinguishes itself by interacting directly with the internal Git object database rather than relying on standard command-line interfaces. It utilizes the native fast-import stream protocol and processes commits as a continuous data
Git-chglog is a command-line tool designed to automate the generation of project changelogs by parsing Git commit history. It functions as a documentation utility that transforms raw repository logs into structured, human-readable release notes based on user-defined templates and configuration rules. The tool distinguishes itself through a configuration-driven pipeline that allows for granular control over how commit history is filtered, sorted, and categorized. By utilizing regular expressions and support for conventional commit standards, it organizes commit messages into logical sections.
Conventional Changelog is a set of tools for automatically generating formatted release notes by parsing Git commit messages that follow a structured specification. It includes a commit message parser to transform raw strings into structured data, a changelog generator for producing release notes, and a commit linter to ensure messages adhere to specific conventions before they are merged. The project provides a system for semantic versioning automation, analyzing commit history to recommend the next version bump based on the types of changes recorded. It supports extensibility through config
WordPress Git Updater is a software update manager that automates the installation and updating of plugins and themes hosted on Git repositories. It functions as an automated release system and a secure client for private Git repository management, linking software components to providers like GitHub, GitLab, or enterprise Git instances for version tracking. The tool distinguishes itself through detailed branch management, allowing users to target specific branches or tagged releases for deployment. It supports secure access to private codebases via personal access tokens and provides a modul
This project is an automated release note tool and markdown history generator that transforms repository activity into structured documentation. It functions as a GitHub API client and CI/CD pipeline component, aggregating tags, issues, and pull requests to produce categorized summaries of project changes. The tool distinguishes itself through native GitHub Enterprise integration, supporting custom API endpoints for self-hosted server instances. It employs a label-based categorization system to group changes into specific sections and utilizes personal access tokens or OAuth to manage API rat
This project serves as a comprehensive directory of open-source libraries, tools, and technical documentation designed for building and managing infrastructure on the Amazon Web Services platform. It functions as a centralized knowledge base, aggregating software development kits, command-line utilities, and editor extensions to assist developers in cloud-native application development. The directory distinguishes itself through a categorical taxonomy that organizes disparate technical resources into a structured hierarchy. It incorporates community-driven metadata aggregation and automated m
This project is a version control documentation tool designed to automate the generation of release notes and changelogs. It functions as a pipeline-based engine that parses repository history, categorizes commits, and transforms them into structured documentation. By leveraging conventional commit patterns or custom regular expressions, it provides a consistent method for tracking project evolution and managing semantic versioning. What distinguishes this tool is its highly flexible template-driven architecture, which allows for deep customization of output formatting, grouping, and sorting.
This project provides a specification for a structured commit message convention that enables automated semantic versioning and changelog generation. It defines a standard grammar for commit messages to ensure project history is readable by both humans and machines. The specification maps specific commit types and breaking change indicators to version increment logic, allowing tools to automatically determine whether a patch, minor, or major release is required. This standardized format also facilitates the automatic production of human-readable release notes by parsing commit history. The c
Standard-version is a semantic versioning release automation tool and Git versioning manager. It calculates the next semantic version by parsing commit messages that follow the Conventional Commits specification and automates the process of updating project files and creating signed Git tags. The tool distinguishes itself by generating formatted changelogs automatically from commit history and providing a release process simulation to preview version bumps without modifying files or Git history. It supports pre-release version management for experimental builds and allows for manual version o