{"id":13654166,"url":"https://github.com/fboender/multi-git-status","last_synced_at":"2025-05-15T11:07:04.148Z","repository":{"id":38711141,"uuid":"75846709","full_name":"fboender/multi-git-status","owner":"fboender","description":"Show uncommitted, untracked and unpushed changes for multiple Git repos","archived":false,"fork":false,"pushed_at":"2024-10-31T13:10:52.000Z","size":197,"stargazers_count":491,"open_issues_count":14,"forks_count":72,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-05-14T18:17:23.284Z","etag":null,"topics":["git","overview","scans","status","uncommited","unpushed-changes","untracked-files"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fboender.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-12-07T15:01:47.000Z","updated_at":"2025-05-14T13:36:36.000Z","dependencies_parsed_at":"2024-01-14T14:29:39.279Z","dependency_job_id":"ca646877-428b-4237-afec-0ac6e61a76e0","html_url":"https://github.com/fboender/multi-git-status","commit_stats":{"total_commits":99,"total_committers":11,"mean_commits":9.0,"dds":0.3535353535353535,"last_synced_commit":"73e7a59987517baf63248cfc9efcb70691e74204"},"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fboender%2Fmulti-git-status","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fboender%2Fmulti-git-status/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fboender%2Fmulti-git-status/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fboender%2Fmulti-git-status/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fboender","download_url":"https://codeload.github.com/fboender/multi-git-status/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254328384,"owners_count":22052632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["git","overview","scans","status","uncommited","unpushed-changes","untracked-files"],"created_at":"2024-08-02T02:01:24.262Z","updated_at":"2025-05-15T11:07:04.128Z","avatar_url":"https://github.com/fboender.png","language":"Shell","funding_links":[],"categories":["Shell","Source control"],"sub_categories":[],"readme":"mgitstatus\n==========\n\nShow uncommitted, untracked and unpushed changes in multiple Git\nrepositories.  Scan for .git dirs up to **DEPTH** directories deep.\nThe default is 2.  If **DEPTH** is 0, the scan is infinitely deep.\n\n![](https://raw.githubusercontent.com/fboender/multi-git-status/master/screenshot.png)\n\nmgitstatus shows:\n\n* **Uncommitted changes** if there are unstaged or uncommitted changes on the\n  checked out branch.\n* **Untracked files** if there are untracked files which are not ignored.\n* **Needs push (BRANCH)** if the branch is tracking a (remote) branch which is\n  behind.\n* **Needs upstream (BRANCH)** if a branch does not have a local or remote\n  upstream branch configured. Changes in the branch may otherwise never be\n  pushed or merged.\n* **Needs pull (BRANCH)** if the branch is tracking a (remote) branch which is\n  ahead. This requires that the local git repo already knows about the remote\n  changes (i.e. you've done a `fetch`), or that you specify the `-f` option.\n  mgitstatus does NOT contact the remote by default.\n* **X stashes** if there are stashes.\n\nSince there are a lot of different states a git repository can be in,\nmgitstatus makes no guarantees that *all* states are taken into account.\n\nmgitstatus can also list dirs that are not a repo, if given the `-w`\nswitch. To ignore certain repos, set the `mgitstatus.ignore` git config flag\nfor that repo to `true`. (See \"usage\" below for an example).\n\n\n# Usage\n\n    Usage: mgitstatus [--version] [-w] [-e] [-f] [--throttle SEC] [-c] [-d/--depth=2] [--no-depth] [--flatten] [--no-X] [DIR [DIR]...]\n\n    mgitstatus shows uncommitted, untracked and unpushed changes in multiple Git\n    repositories. By default, mgitstatus scans two directories deep. This can be\n    changed with the -d (--depth) option.  If DEPTH is 0, the scan is infinitely\n    deep.\n\n      --version        Show version\n      -w               Warn about dirs that are not Git repositories\n      -e               Exclude repos that are 'ok'\n      -f               Do a 'git fetch' on each repo (slow for many repos)\n      --throttle SEC   Wait SEC seconds between each 'git fetch' (-f option)\n      -c               Force color output (preserve colors when using pipes)\n      -d, --depth=2    Scan this many directories deep\n      --no-depth       Do not recurse into directories (incompatible with -d)\n      --flatten        Show only one status per line\n\n    You can limit output with the following options:\n\n      --no-push\n      --no-pull\n      --no-upstream\n      --no-uncommitted\n      --no-untracked\n      --no-stashes\n      --no-ok          (same as -e)\n\nThe following example scans all directories under the current dir, with a\ndepth of 2. That means the current dir and all directories directly under it.\n\n    ~/Projects/fboender $ mgitstatus\n    ./mgitstatus: ok\n    ./mdpreview: ok\n    ./snippets: ok\n    ./boxes: ok\n    ./ansible-cmdb: Uncommitted changes Untracked files\n    ./scriptform: Uncommitted changes\n\nFor more examples, see the [manual page](mgitstatus.1.md).\n\n# Installation\n\nmgitstatus requires make.\n\nThe following steps will install mgitstatus:\n\n    # Clone the repo\n    $ git clone https://github.com/fboender/multi-git-status.git\n    $ cd multi-git-status\n\n    # Install globally (all users)\n    $ sudo make install\n\n    # Install locally (only your user)\n    $ PREFIX=~/.local make install\n\n# License\n\nCopyright 2016-2022, Ferry Boender (et al).\n\nLicensed under the MIT license. For more information, see the LICENSE.txt file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffboender%2Fmulti-git-status","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffboender%2Fmulti-git-status","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffboender%2Fmulti-git-status/lists"}