{"id":28087484,"url":"https://github.com/thiswillbeyourgithub/git_scripts_keeper","last_synced_at":"2025-05-13T11:32:16.921Z","repository":{"id":281846733,"uuid":"946619492","full_name":"thiswillbeyourgithub/git_scripts_keeper","owner":"thiswillbeyourgithub","description":"A bash utility to automatically commit changes across multiple Git repositories, ideal for script and configuration management.","archived":false,"fork":false,"pushed_at":"2025-03-27T14:08:33.000Z","size":17,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T15:24:55.298Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thiswillbeyourgithub.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":"2025-03-11T12:25:07.000Z","updated_at":"2025-03-27T14:08:36.000Z","dependencies_parsed_at":"2025-03-12T08:45:39.087Z","dependency_job_id":null,"html_url":"https://github.com/thiswillbeyourgithub/git_scripts_keeper","commit_stats":null,"previous_names":["thiswillbeyourgithub/git_scripts_keeper"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiswillbeyourgithub%2Fgit_scripts_keeper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiswillbeyourgithub%2Fgit_scripts_keeper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiswillbeyourgithub%2Fgit_scripts_keeper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thiswillbeyourgithub%2Fgit_scripts_keeper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thiswillbeyourgithub","download_url":"https://codeload.github.com/thiswillbeyourgithub/git_scripts_keeper/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253933032,"owners_count":21986503,"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":[],"created_at":"2025-05-13T11:32:06.056Z","updated_at":"2025-05-13T11:32:16.904Z","avatar_url":"https://github.com/thiswillbeyourgithub.png","language":"Shell","readme":"# Git Scripts Keeper\n\nA simple bash utility that automatically commits changes in multiple git repositories.\n\n## Description\n\nGit Script Keeper is a bash script that helps you manage multiple git repositories by automatically detecting changes and committing them. It reads a list of repository paths from a file and processes each repository, committing any changes with an auto-generated commit message.\n\nInspired by etckeeper, Git Script Keeper was created to track changes in scripts and configuration folders that aren't covered by system configuration management tools.\n\n## Features\n\n- Automatically detects changes in multiple git repositories\n- Skips repositories with no changes\n- Generates commit messages that include the list of modified files\n- Handles errors gracefully (non-existent directories, non-git repositories)\n- Supports comments and empty lines in the repository list file\n- Made to be run periodically via systemd or cron.\n\n## Usage\n\n```bash\n./git_scripts_keeper.sh \u003cpath_to_repo_list_file\u003e\n```\n\n### Example repository list file (repos.txt):\n```\n# My repositories\n/home/user/projects/project1\n/home/user/projects/project2\n# This one is commented out\n# /home/user/projects/inactive-project\n/home/user/projects/project3\n```\n\n### Options\n\n- `-h, --help`: Display help message and exit\n\n## Requirements\n\n- Bash shell\n- Git\n\n## Installation\n\n1. Download this script via `git clone`\n2. Make it executable: `chmod +x git_scripts_keeper.sh`\n3. Create a repository list file with one repository path per line into `repos.txt`.\n4. Launch via `./git_scripts_keeper.sh repos.txt`\n5. Optional: make it periodic via the systemd unit in the folder `systemd_units` or via cron.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthiswillbeyourgithub%2Fgit_scripts_keeper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthiswillbeyourgithub%2Fgit_scripts_keeper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthiswillbeyourgithub%2Fgit_scripts_keeper/lists"}