GitShow/tj/git-extras
tj

git-extras

GIT utilities -- repo summary, repl, changelog population, author commit percentages and more

by tj
git
Star on GitHubFork

Shell

18.1k stars1.2k forks295 contributorsActive · 1w agoSince 20107.5.0MIT

Meet the team

See all 295 on GitHub →
spacewander
spacewander411 contributions
tj
tj248 contributions
hemanth
hemanth239 contributions
nicolaiskogheim
nicolaiskogheim57 contributions
jweslley
jweslley39 contributions
hyperupcall
hyperupcall32 contributions
tfendin
tfendin29 contributions
Lee-W
Lee-W28 contributions

Languages

View on GitHub →
Shell77.3%
Python18.9%
Batchfile2%
Makefile1.8%

Commit activity

Last 12 weeks · 8 commits

Full graph →

Community health

4 of 6 standards met

Community profile →
71
✓README✓License✓Contributing○Code of Conduct○Issue Template✓PR Template

Recent PRs & issues

Active · Last activity 1w ago
See all on GitHub →
AchoArnold
fix: support Windows ARM64 (clangarm64) in install.cmdOpenPR

Problem Git for Windows on ARM64 uses a directory instead of . Running on an ARM64 Windows machine fails with: No mingw64 folder found in C:\Program Files\Git. Solution Updated to auto-detect when is not present. The changes cover all four places where the script resolves the target directory: 1. Auto-detection from PATH — checks for if doesn't exist 2. Default path fallback — same auto-detection for 3. User-supplied path — recognizes in user-provided install paths 4. Validation check — accepts either or When both directories exist, is preferred to preserve existing behavior on x86/x64 systems. Testing Tested on Windows 11 ARM64 with Git for Windows 2.54.0 ( layout). The installer now correctly detects and installs to without requiring the user to manually supply the path.

AchoArnold · 1d ago
kdergachev
Added edit/remove functionality to git-ignoreOpenPR

PR for issue #1257 These commits introduce flags -r/--remove and -e/--edit to git-ignore to allow removing patterns the same way they can be added and for opening ignore files in a text editor. Some other minor changes like '--' flag-argument separator introduced. New version is mostly backwards-compatible with old one. Some quirks/things to consider: Flags for actions/locations override each other and the last is the actual one. Temporary file creation for remove (found that filling tmp file with double loop over lines and patterns is the best way to remove a list of patterns while not interpreting patterns as regex or any other type of special symbols, maybe there is a better way) Should edit action create a file if one does not exist? Unnecessary arguments are not checked for and just omitted Submitting this as a draft, and if everything's OK/after changes are made will modify documentation accordingly (same for output with -h/--help flags).

kdergachev · 1w ago
kdergachev
git-ignore remove/edit functionalityOpenIssue

Currently git-ignore only adds rules to ignore files (and prints them); adding an option to remove rules or just open the respective ignore file for editing seems like a nice addition. Currently I have a raw version of it that functions locally, so if this additional functionality is welcome, I can tidy it up and make a PR.

kdergachev · 1mo ago

Recent fixes

View closed PRs →
nfultz
git-adoptMergedPR

This PR adds a small script for managing/updating a dotfiles repo (see also https://dotfiles.github.io). I believe I have completed all the steps described in . I'm not able to test on Mac or OpenBSD but I don't believe there is anything Linux-specific in this.

nfultz · 5h ago
codersofthedark
Feature Request: Add git-delete-gone-branches commandClosedIssue

Problem Statement When working with Git repositories, local branches often accumulate after their remote tracking branches have been deleted (typically after PRs are merged and branches are cleaned up on GitHub/GitLab). Currently, git-extras provides to clean up merged branches, but there's no command to clean up branches whose remote tracking branch no longer exists. Developers commonly encounter branches marked as when running : Currently, users must manually identify and delete these branches, or write custom scripts/aliases. Proposed Solution Add a new command: (or ) Basic Usage: Expected Behavior: 1. Run to update remote tracking information 2. Identify all local branches where the remote tracking branch is marked as 3. Display the list of branches to be deleted 4. Delete the branches (or just show them if is used) Implementation Details The core logic would be similar to this bash script: Use Cases 1. Post-PR cleanup: After PRs are merged and remote branches deleted, clean up local workspace 2. Repository maintenance: Keep local branch list clean and manageable 3. CI/CD workflows: Automated cleanup in CI environments 4. Team workflows: Standardize branch cleanup across development teams Alternatives Considered git-trim (standalone tool) - Exists but requires separate installation Custom aliases - Works but not standardized or discoverable Manual deletion** - Error-prone and time-consuming Having this as part of git-extras would: Provide a standardized, well-tested solution Make it easily discoverable alongside Integrate with existing git-extras ecosystem Additional Features (Optional) flag for preview mode or flag to skip confirmation Exclude specific branches via pattern matching Interactive mode with confirmation prompts Related Commands This would complement the existing: Deletes merged branches Prunes unreachable objects (different use case) References Common workflow: https://dev.to/stephdotnet/clean-your-local-git-branches-2e69 Similar discussion: https://stackoverflow.com/questions/7726949/remove-tracking-branches-no-longer-on-remote I'm happy to contribute this feature if the maintainers are interested. Let me know if you'd like any clarifications or have suggestions for the implementation approach!

codersofthedark · 3w ago
codersofthedark
feat: add git-delete-gone-branches commandMergedPR

Closes #1220 What Adds a new command that deletes all local branches whose remote-tracking branch has been deleted (shown as in ). Why After PRs are merged and remote branches are cleaned up on GitHub/GitLab, local branches are left behind with no remote. There's no existing git-extras command to clean these up — handles a different case (merged but remote still exists). Usage Changes — the command — man page — added to index and description section — zsh completion with flag Checklist [x] Script starts with [x] Man page written [x] Added to [x] Updated [ ] — requires local install of ronn to generate / man files; happy to add if needed

codersofthedark · 3w ago
Structured data for AI agents

Repository: tj/git-extras. Description: GIT utilities -- repo summary, repl, changelog population, author commit percentages and more Stars: 18067, Forks: 1225. Primary language: Shell. Languages: Shell (77.3%), Python (18.9%), Batchfile (2%), Makefile (1.8%). License: MIT. Topics: git. Latest release: 7.5.0 (1mo ago). Open PRs: 8, open issues: 91. Last activity: 1w ago. Community health: 71%. Top contributors: spacewander, tj, hemanth, nicolaiskogheim, jweslley, hyperupcall, tfendin, Lee-W, qw3rtman, timfeirg and others.

·@ofershap

Replace github.com with gitshow.dev