{"id":25759502,"url":"https://github.com/csi-lk/gg","last_synced_at":"2025-05-13T03:28:13.170Z","repository":{"id":41145709,"uuid":"159038133","full_name":"csi-lk/gg","owner":"csi-lk","description":"My Git Goodies: Fast Git Shortcuts (based off GitGoodies)","archived":false,"fork":false,"pushed_at":"2023-06-16T02:05:12.000Z","size":33,"stargazers_count":6,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-04-01T06:13:35.332Z","etag":null,"topics":["git","hacktoberfest"],"latest_commit_sha":null,"homepage":"","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/csi-lk.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":"2018-11-25T14:06:33.000Z","updated_at":"2022-06-28T21:48:00.000Z","dependencies_parsed_at":"2025-02-26T17:46:47.304Z","dependency_job_id":null,"html_url":"https://github.com/csi-lk/gg","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csi-lk%2Fgg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csi-lk%2Fgg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csi-lk%2Fgg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/csi-lk%2Fgg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/csi-lk","download_url":"https://codeload.github.com/csi-lk/gg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253866276,"owners_count":21976065,"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","hacktoberfest"],"created_at":"2025-02-26T17:35:03.152Z","updated_at":"2025-05-13T03:28:13.149Z","avatar_url":"https://github.com/csi-lk.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git Goodies (gg)\n\nAliases and helpers for many git related tasks to speed up my workflow\n\nOriginally adapted from [GitGoodies](https://github.com/qw3rtman/gg), my version has some different functions and generally focuses on speed.\n\nThere is still a lot TODO, i'll get around to it as I need it :)\n\n## Installation\n\n### Linux / MacOS\n\n```bash\ncurl -fsSL git.io/fpEqU | bash\n```\n\n## Usage\n\n| command           | does                                                        |\n| ----------------- | ----------------------------------------------------------- |\n| gg i              | git init                                                    |\n| gg s              | git status                                                  |\n| gg f              | git fetch                                                   |\n| gg a              | git add -A                                                  |\n| gg a `\u003cfile\u003e`     | git add `\u003cfile\u003e`                                            |\n| gg c              | git commit (prompts for conventional commit style commits)  |\n| gg ca             | git commit --amend                                          |\n| gg can            | git commit --amend --no-edit                                |\n| gg ch `\u003cthing\u003e`   | git checkout `\u003cthing\u003e`                                      |\n| gg cm             | git checkout default branch eg. `main` or `master`          |\n| gg pl             | git pull                                                    |\n| gg cpr            | git fetch \u0026\u0026 git rebase origin/master                       |\n| gg p              | git push                                                    |\n| gg pf             | git push force                                              |\n| gg l              | git history oneline                                         |\n| gg lc             | git history latest commit                                   |\n| gg r `\u003cnumber\u003e`   | git rebase HEAD~`\u003cnumber\u003e` -i                               |\n| gg rr             | reset branch to remote                                      |\n| gg st             | add all files and stash                                     |\n| gg stp            | stash pop latest                                            |\n| gg clean          | delete local branches not on master                         |\n| gg b `\u003cname\u003e`     | create and checkout branch `\u003cname\u003e`, if exists check it out |\n| gg bd `\u003cname\u003e`    | delete branch                                               |\n| gg cf `\u003cscope\u003e`   | git commit fixup `\u003cscope\u003e`                                  |\n| gg pr             | create new github pull request for current branch           |\n| gg prl            | output changed since master in easy pr format to clipboard  |\n| gg o              | open repo url                                               |\n| gg t              | create a tag                                                |\n| gg td `\u003cname\u003e`    | delete a tag `\u003cname\u003e`                                       |\n| gg z `\u003ccommands\u003e` | combo commands, eg. `gg z a c p` for `gg a \u0026\u0026 gg c \u0026\u0026 gg p` |\n\n## Development\n\nMake sure you clone recursivley as am using submodules for bats\n\n```bash\ngit clone --recursive git@github.com:csi-lk/gg.git\n```\n\nAll functions are in the one file, the [gg bin](./bin/gg)\n\n## Testing\n\nUnit testing using [bats](https://github.com/sstephenson/bats) with [support](https://github.com/ztombol/bats-support) and [assert](https://github.com/ztombol/bats-assert) libs loaded as submodules\n\nAll tests are defined in [the one file](./test/gg.bats)\n\n### Setting Up\n\nInstall bats with brew (macOS)\n\n```bash\nbrew install bats\n```\n\n### Running\n\n```bash\nbats test\n```\n\n---\n\n🧔 Be sure to checkout [my other repos](https://github.com/csi-lk/) and [website / blog](https://csi.lk)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsi-lk%2Fgg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcsi-lk%2Fgg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcsi-lk%2Fgg/lists"}