{"id":19585244,"url":"https://github.com/slammayjammay/git-add-and-commit","last_synced_at":"2026-04-13T00:12:14.763Z","repository":{"id":77271381,"uuid":"73666111","full_name":"slammayjammay/git-add-and-commit","owner":"slammayjammay","description":"A small CLI tool for quick file committing to git.","archived":false,"fork":false,"pushed_at":"2018-06-14T17:16:22.000Z","size":3663,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-09T11:04:42.142Z","etag":null,"topics":["babel","cli-application","es6","git","javascript","node","terminal"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/slammayjammay.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license","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-11-14T04:12:36.000Z","updated_at":"2018-06-14T17:16:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"6764df85-5c42-443b-bc13-b266b534f543","html_url":"https://github.com/slammayjammay/git-add-and-commit","commit_stats":{"total_commits":197,"total_committers":2,"mean_commits":98.5,"dds":"0.12182741116751272","last_synced_commit":"ee0b2468b7108102ed030999f9bd4bf49b39015b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slammayjammay%2Fgit-add-and-commit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slammayjammay%2Fgit-add-and-commit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slammayjammay%2Fgit-add-and-commit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/slammayjammay%2Fgit-add-and-commit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/slammayjammay","download_url":"https://codeload.github.com/slammayjammay/git-add-and-commit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240858578,"owners_count":19868998,"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":["babel","cli-application","es6","git","javascript","node","terminal"],"created_at":"2024-11-11T07:53:27.887Z","updated_at":"2026-04-13T00:12:14.719Z","avatar_url":"https://github.com/slammayjammay.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `git-add-and-commit`\n\u003e Quickly add and commit multiple files with one command.\n\n```shell\n$ npm install -g git-add-and-commit\n$ gac --help\n```\n\n## Usage\nProvide a list of file globs to match and a commit message. Matching is done via [`minimatch`](https://www.npmjs.com/package/minimatch) and done case-insensitively by default.\n\nTo add and commit all files under `src/js/` and `src/css/`:\n```shell\n$ gac src/js/**/*.js src/css/**/*.css \"Commit all js and css files\"\n```\n\nThis will also work...\n```shell\n$ gac .js .css \"Commit all js and css files\"\n```\n...but will also match any `.js` and `.css` file anywhere under the git root -- see [disclaimer](#disclaimer).\n\n## DISCLAIMER\nI made this thing so that I could quickly type a substring of a file and it would match. So if a given glob doesn't match any files at first, it tries to match a massaged version of the glob and see if that matches anything. For instance, providing `module` will actually match something like `root/some-child/js/modules/something/index.js`. It will also match anything and everything containing `module` in the filename, so be careful!\n\n\n## Interactive\nBecause of this dangerous blindly-commit-any-goddamn-file attitude, there's an interactive version to help you see which files will be added by the given globs. Pressing tab will show a diff for all selected files. You can select a single file by using the arrow keys.\n\n\u003cimg src=\"https://raw.githubusercontent.com/slammayjammay/git-add-and-commit/master/demos/demo.gif\" width=\"800\"\u003e\u003c/img\u003e\n\n\n## The full help screen\n```\nDESCRIPTION\n\tThis command quickens the commit process for individual files. Files can be\n\tadded by providing a list of file globs. For example, \"src/**/*\" will match\n\tall files of all subfolders of \"src/\". If the given glob is a substring of\n\ta filename a match will always be made, unless the --strict option is given.\n\tBy default, all matches are made case-insensitively.\n\n\tYou can specify which type of git files to match by using the --only and\n\t--except options. Git types must be deleted, modified, staged, or untracked\n\t(d, m, s, u), and separated by commas.\n\n\nUSAGE\n\tgac [options]\n\tgac [options] \u003cpath\u003e \u003cmessage\u003e\n\n\nOPTIONS\n\t-c, --case-sensitive          Match files case-sensitively.\n\t-e, --except=[type...]        Specify which type of git files to ignore.\n\t-h, --help                    Display this help screen.\n\t-i, --interactive             Interactively find and commit files.\n\t-o, --only=[type...]          Specify which type of git files to look for.\n\t-s, --silent                  Suppress success messages.\n\t-S, --strict                  Match files by only the exact glob given.\n\t-v, --version                 Print the version of this module.\n\n\nEXAMPLES\n\tgac README \"Add README\" --case-sensitive\n\tgac html js scss \"Commit all html, js, and scss files\"\n\tgac --only modified,staged * \"Commit all modified and staged files\"\n\tgac -e=d,u * \"Commit all files that are not deleted or untracked\"\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslammayjammay%2Fgit-add-and-commit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fslammayjammay%2Fgit-add-and-commit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fslammayjammay%2Fgit-add-and-commit/lists"}