{"id":15630607,"url":"https://github.com/afeld/git-plugins","last_synced_at":"2025-04-26T19:00:20.672Z","repository":{"id":9886514,"uuid":"11890543","full_name":"afeld/git-plugins","owner":"afeld","description":"a collection of custom git commands","archived":false,"fork":false,"pushed_at":"2025-03-16T22:35:32.000Z","size":56,"stargazers_count":68,"open_issues_count":9,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-04-26T12:52:19.884Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","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/afeld.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2013-08-05T05:04:58.000Z","updated_at":"2025-04-18T08:04:33.000Z","dependencies_parsed_at":"2025-04-25T18:47:10.312Z","dependency_job_id":"86d6adf9-46dc-418d-bf23-58e896c0cc85","html_url":"https://github.com/afeld/git-plugins","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/afeld%2Fgit-plugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afeld%2Fgit-plugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afeld%2Fgit-plugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afeld%2Fgit-plugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/afeld","download_url":"https://codeload.github.com/afeld/git-plugins/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251038229,"owners_count":21526664,"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":"2024-10-03T10:33:37.097Z","updated_at":"2025-04-26T19:00:20.641Z","avatar_url":"https://github.com/afeld.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Git Plugins\n\n[![CI](https://github.com/afeld/git-plugins/actions/workflows/ci.yml/badge.svg)](https://github.com/afeld/git-plugins/actions/workflows/ci.yml)\n\nA community collection of Git plugins. Browse [the scripts](bin) to see what's included.\n\n## Example workflow\n\nA number of the plugins included in this project make the updating/branching/submitting process easier. As an example use case, if you are doing something like the [GitHub Flow](https://guides.github.com/introduction/flow/), your workflow for a feature might look something like this:\n\n```bash\ngit fetch origin\ngit checkout -b feature-branch --no-track origin/master\n\n# make some changes, add some files\n\ngit add -A\ngit commit -m \"fixed stuff\"\n\ngit push -u origin feature-branch\n\n# open your repository on github.com, and click the button to make a new pull request\n```\n\nThat is _so much typing!_ Using these plugins, this can all be simplified to:\n\n```bash\ngit f feature-branch\n\n# make some changes, add some files\n\ngit ca -m \"fixed stuff\"\ngit pr\n```\n\nSo much easier! :zap:\n\n## Setup\n\n```bash\ngit clone git@github.com:afeld/git-plugins.git\n```\n\nThen add the following to your `~/.bash_profile` (or `~/.zshrc`, or whatever profile file you use):\n\n```bash\nexport PATH=path/to/git-plugins/bin:$PATH\n```\n\n## Aliases\n\nThe plugin names intentionally favor descriptiveness over terseness, but you should make shortcuts for yourself that make sense for you. You can see some examples in the `[alias]` section of [afeld/dotfiles](https://github.com/afeld/dotfiles/blob/master/gitconfig). To add a new shortcut:\n\n```bash\ngit config --global alias.SHORT LONG\n\n# you can then use\ngit SHORT\n```\n\ne.g.\n\n```bash\ngit config --global alias.lg pretty-log\n\n# enables\ngit lg\n```\n\nTo use the [workflow](#example-workflow) described above, run the following to set up the aliases:\n\n```bash\ngit config --global alias.ca commit-all\ngit config --global alias.f create-feature-branch\ngit config --global alias.pr create-pull-request\n```\n\n## See Also\n\n- [Official GitHub CLI](https://cli.github.com/)\n- [Git Extras](https://github.com/tj/git-extras)\n- [EasyGit](https://people.gnome.org/~newren/eg/)\n- [ghi](https://github.com/stephencelis/ghi)\n- [git-flow](https://github.com/nvie/gitflow)\n- [git-setup](https://github.com/afeld/git-setup)\n- [hub](http://hub.github.com/)\n- [HubFlow](http://datasift.github.io/gitflow/)\n- [Legit](http://www.git-legit.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafeld%2Fgit-plugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fafeld%2Fgit-plugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafeld%2Fgit-plugins/lists"}