{"id":13724239,"url":"https://github.com/suin/git-remind","last_synced_at":"2025-07-13T01:31:19.110Z","repository":{"id":51130647,"uuid":"154856010","full_name":"suin/git-remind","owner":"suin","description":"Never forget to git commit and push","archived":false,"fork":false,"pushed_at":"2022-09-08T08:59:10.000Z","size":366,"stargazers_count":100,"open_issues_count":4,"forks_count":12,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-07T03:22:59.670Z","etag":null,"topics":["git","git-commit","git-push","git-workflow"],"latest_commit_sha":null,"homepage":"","language":"Go","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/suin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-26T15:31:33.000Z","updated_at":"2025-01-31T05:34:55.000Z","dependencies_parsed_at":"2023-01-18T01:00:34.817Z","dependency_job_id":null,"html_url":"https://github.com/suin/git-remind","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/suin/git-remind","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suin%2Fgit-remind","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suin%2Fgit-remind/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suin%2Fgit-remind/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suin%2Fgit-remind/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/suin","download_url":"https://codeload.github.com/suin/git-remind/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/suin%2Fgit-remind/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265080006,"owners_count":23708098,"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","git-commit","git-push","git-workflow"],"created_at":"2024-08-03T01:01:52.562Z","updated_at":"2025-07-13T01:31:18.828Z","avatar_url":"https://github.com/suin.png","language":"Go","readme":"# git-remind\n\ngit-remind is a command line tool that prevent you to forget git-commit and git-push.\n\n## Features\n\n### git-commit/git-push status\n\ngit-remind checks across the all git repositories in your computer, and it displays the status whether there are uncommitted files and there are ahead commits which should be pushed to remote.\n\n![](./docs/demo-git-remind-status.png)\n\n### Desktop Notification\n\ngit-remind notifies you git-commit/git-push status using desktop notification. This feature is tested macOS, but it will work in Windows and Linux.\n\n![](./docs/demo-notification.png)\n\n## Installation\n\n### Homebrew\n\n```\nbrew install suin/suin/git-remind\n```\n\n### Manually\n\nDownload build binary from the [releases](https://github.com/suin/git-remind/releases).\n\n## Configuration\n\nAdd `remind.paths` to your `.gitconfig`, using your own absolute path to the repository directories. \n\n```text:.gitconfig\n[remind]\n\tpaths = /Users/you/projects/foo,/Users/you/projects/bar\n```\n\nIf you have some git repositories (e.g. `~/projects/foo` and `~/projects/bar`) in the same directory (e.g. in `~/projects`) , you may specify the path using wildcard (e.g.`/Users/you/projects/*`):\n\n\n```text:.gitconfig\n[remind]\n\tpaths = /Users/you/projects/*\n```\n\nYou can also utilise the `git config` command to configure git-remind to avoid the manually editing of the `.gitconfig`.\n\n```bash\ngit config --global remind.paths '/Users/you/projects/*'\n```\n\nCheck the configuration using following command:\n\n```bash\ngit-remind paths # Shows path patterns configuration\ngit-remind repos # Shows git repositories to be reminded\n```\n\n## Usage\n\n### Display git-commit/git-push status\n\n```\n$ git-remind status\nNeed to commit: /Users/suin/projects/myapp1\nNeed to commit and push: /Users/suin/projects/myapp2\n```\n\n#### Short status like `git status -s`\n\n```\n$ git-remind status -s\nC  /Users/suin/projects/myapp1\nCP /Users/suin/projects/myapp2\n```\n\n#### Show all status including up-to-date repositories \n\n```\n$ git-remind status -a\nNeed to commit: /Users/suin/projects/myapp1\nNeed to commit and push: /Users/suin/projects/myapp2\nUp-to-date: /Users/suin/projects/myapp3\n```\n\n### Desktop Notification\n\n```\ngit-remind status-notification\n```\n\n### Ad-hoc paths configuration\n\nThe paths can be specified with `--path` option instead of git global configuration `remind.paths`.\n\n```\n$ git-remind --path '/path/to/dir/*' paths\n/path/to/dir/*\n```\n\nThe option accepts multiple paths giving two or more `--path` options.\n\n```\n$ git-remind --path '/path/to/dir1/*' --path '/path/to/dir2/*' paths\n/path/to/dir1/*\n/path/to/dir2/*\n```\n\nAlso giving the environment variable `GIT_REMIND_PATHS`, it makes the same effect.\n\n```\n$ export GIT_REMIND_PATHS='/path/to/dir1/*,/path/to/dir2/*'\n$ git-remind paths\n/path/to/dir1/*\n/path/to/dir2/*\n```\n\nWhen both of `--path` option and `GIT_REMIND_PATHS` are given, the paths become the combination of the both.\n\n```\n$ export GIT_REMIND_PATHS='/path/to/dir1/*,/path/to/dir2/*'\n$ git-remind --path '/path/to/dir3/*' paths\n/path/to/dir1/*\n/path/to/dir2/*\n/path/to/dir3/*\n```\n\n## Advanced usage\n\n### Scheduled reminder (cron)\n\nTo get scheduled reminder, set up crontab. Following example send notifications every 20 minutes:\n\n```\nPATH=/usr/local/bin:/usr/bin:/bin\n\n*/20 * * * * git-remind status-notification \u003e /dev/null 2\u003e\u00261\n```\n\n### Jumping to the repositories\n\nBy combining git-remind and [fzf](https://github.com/junegunn/fzf), you will be able to jump the repositories that needs to commit or push:\n\n```\ncd $(git remind status -n | fzf)\n```\n\n![](./docs/demo-fzf.gif)\n\nIt would be useful that you set command alias in your .bashrc/.zshrc:\n\n```bash\nalias grj='cd $(git remind status -n | fzf)'\n```\n","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuin%2Fgit-remind","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuin%2Fgit-remind","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuin%2Fgit-remind/lists"}