{"id":18343600,"url":"https://github.com/uasi/my-git-utils","last_synced_at":"2026-04-21T16:40:18.565Z","repository":{"id":251518981,"uuid":"837340620","full_name":"uasi/my-git-utils","owner":"uasi","description":"A collection of Git utility scripts","archived":false,"fork":false,"pushed_at":"2024-08-04T20:34:34.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-15T15:55:21.654Z","etag":null,"topics":["cli","git"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"0bsd","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/uasi.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":"2024-08-02T18:34:09.000Z","updated_at":"2024-08-04T20:34:38.000Z","dependencies_parsed_at":"2024-08-03T17:24:31.415Z","dependency_job_id":"4abf8a08-37e6-4b9a-858a-76e14ae69404","html_url":"https://github.com/uasi/my-git-utils","commit_stats":null,"previous_names":["uasi/my-git-utils"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/uasi/my-git-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uasi%2Fmy-git-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uasi%2Fmy-git-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uasi%2Fmy-git-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uasi%2Fmy-git-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/uasi","download_url":"https://codeload.github.com/uasi/my-git-utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/uasi%2Fmy-git-utils/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32100996,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-21T11:25:29.218Z","status":"ssl_error","status_checked_at":"2026-04-21T11:25:28.499Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cli","git"],"created_at":"2024-11-05T20:36:35.963Z","updated_at":"2026-04-21T16:40:18.543Z","avatar_url":"https://github.com/uasi.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# my-git-utils\n\nA collection of my little utility scripts to work with Git repositories.\n\n## git-exec-if-changed\n\n`git-exec-if-changed` executes a given command if specified paths in a repository have changed since a specified commit.\nThe `--since-last-exec` option is particularly useful: it records the revision when the command was last executed\nand only runs the command if paths have changed since that point.\n\n\n```\n% git pull\n\n% git exec-if-changed --verbose --path package-lock.json --since-last-exec=tmp/.last-npm-i -- npm install\nexec-if-changed: changed since (root)\n# exec npm install...\n\n% git pull\n\n% git exec-if-changed --verbose --path package-lock.json --since-last-exec=tmp/.last-npm-i -- npm install\nexec-if-changed: not changed since 30a87913a60ac47deb55c1588d68e0e89f2cabf6\n```\n\nSee [git-exec-if-changed.md](./git-exec-if-changed.md) for more information.\n\n## git-guess-default-branch\n\n`git-guess-default-branch` guesses the default branch name.\n\nGit repositories usually have a default branch, but its name varies depending on the repository, such as master, main, or develop.\nThis command would be useful when you want to manipulate the default branch without specifying the branch name.\n\n```\n% git branch\n* feature/foo\n  master\n  release\n\n% git guess-default-branch\nmaster\n```\n\nSee [git-guess-default-branch.md](./git-guess-default-branch.md) for more information.\n\n## git-unkeep\n\n`git-unkeep` recursively searchs for `.gitkeep` files in the work tree,\nand if a directory containing a `.gitkeep` file has any entries other than the `.gitkeep` file itself,\nremoves the `.gitkeep` file from that directory.\n\n`.gitkeep` is an unofficial convention to check-in otherwise empty directories.\n\n```\n% git unkeep\nrm 'db/migrations/.gitkeep'\nrm 'resources/.gitkeep'\n```\n\n## See also\n\n- [`uasi/gh-blame-pr`](https://github.com/uasi/gh-blame-pr): A GitHub CLI extension to open the most recent pull request that modified the specified file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuasi%2Fmy-git-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fuasi%2Fmy-git-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fuasi%2Fmy-git-utils/lists"}