{"id":19713534,"url":"https://github.com/shalomb/git-extend","last_synced_at":"2025-02-27T15:55:08.198Z","repository":{"id":101380097,"uuid":"184477464","full_name":"shalomb/git-extend","owner":"shalomb","description":"Scripts to extend git workflows","archived":false,"fork":false,"pushed_at":"2019-12-18T01:30:33.000Z","size":38,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"develop","last_synced_at":"2025-01-10T14:52:51.407Z","etag":null,"topics":["changelog-generator","commit-message","git-command-line","git-commands","git-commit-messages","git-script","release-notes"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shalomb.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-2.0.txt","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":"2019-05-01T20:29:20.000Z","updated_at":"2020-04-07T18:15:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"b38ffce0-4667-4313-8870-836dd9498ef3","html_url":"https://github.com/shalomb/git-extend","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shalomb%2Fgit-extend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shalomb%2Fgit-extend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shalomb%2Fgit-extend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shalomb%2Fgit-extend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shalomb","download_url":"https://codeload.github.com/shalomb/git-extend/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241031964,"owners_count":19897391,"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":["changelog-generator","commit-message","git-command-line","git-commands","git-commit-messages","git-script","release-notes"],"created_at":"2024-11-11T22:23:18.955Z","updated_at":"2025-02-27T15:55:08.156Z","avatar_url":"https://github.com/shalomb.png","language":"Shell","readme":"Useful scripts to extend git functionality.\n\n## Installation\n\nCopy the main scripts into a directory named in $PATH.\n\n```\ncp -av git-* ~/bin/\n```\n\n## Usage\n\n1. `git-release`  # Like that from `git-extras` only more automatic\n```\ngit release        # Creates a new semver release with an annotated tag\ngit release point  # Create a point release e.g. v0.1.0 -\u003e v0.1.1\n```\n\n2. `git-changelog`\n\n```\ngit changelog              # List commit messages since last \"tag\"\ngit changelog HEAD~4 HEAD  # List commit messages between two revisions\n```\n\n3. `git-bar`\n\n```\nsource ~/bin/git-bar   # NOTE: This is not an executable script but a\n                       # collection of bash aliases/functions.\n\ngh          # list the help screen\n\n```\n\n### Committing\n\n```\ngd file     # git diff file - file is now \"remembered\"\nga          # git add file  - NOTE file is not specified as it was remembered\ngca My elaborate commit message   # Commit. NOTE no quotes needed.\n\ngd .        # git diff .\ngca My other well-formed commit message\n\ngdc         # git diff --cached\n```\n\n### Branches\n\n```\ngbr          # What branch am I on?\ngb           # Use fzf to select branch\ngco audit    # Checkout branch matching 'audit' anywhere in branch name\ngco master   # Checkout master\ngco          # Checkout last branch _a la_ cd\n\ngba          # git branch --all --verbose\n```\n\n### Syncing\n\n```\ngp          # git pull\ngP          # git push\ngPA         # git push --all --tags  # Useful after a release\ngsync       # git fetch --all \u0026\u0026 git pull .. useful before merge/rebase\n            #                                from other branches\n```\n\n### Saving\n\n```\ngwip        # Create a WIP commit like a stash but pushable to remote\n            # Useful before you go on vacation\ngundo       # Undo the WIP commit (git reset --mixed HEAD~1)\n\ngwipe       # Commit and then do a git reset --hard\n            # Why? So you can always recover even this work via the reflog\n```\n\n... And many other goodies. Most commands support tab-completion too.\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshalomb%2Fgit-extend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshalomb%2Fgit-extend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshalomb%2Fgit-extend/lists"}