{"id":20543454,"url":"https://github.com/morgankryze/easy-git","last_synced_at":"2025-05-09T14:32:03.073Z","repository":{"id":214813144,"uuid":"737417674","full_name":"MorganKryze/Easy-Git","owner":"MorganKryze","description":"Custom git commands to set up git workspace","archived":true,"fork":false,"pushed_at":"2024-02-22T12:23:45.000Z","size":781,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-06T04:43:08.471Z","etag":null,"topics":["config","git","workspace"],"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/MorganKryze.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2023-12-31T00:32:09.000Z","updated_at":"2024-10-29T22:36:12.000Z","dependencies_parsed_at":"2023-12-31T01:49:53.505Z","dependency_job_id":"1f5d384b-f9ac-4df6-874f-ee2ca28dbb57","html_url":"https://github.com/MorganKryze/Easy-Git","commit_stats":null,"previous_names":["morgankryze/easy-git"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganKryze%2FEasy-Git","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganKryze%2FEasy-Git/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganKryze%2FEasy-Git/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganKryze%2FEasy-Git/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MorganKryze","download_url":"https://codeload.github.com/MorganKryze/Easy-Git/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253266474,"owners_count":21880984,"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":["config","git","workspace"],"created_at":"2024-11-16T01:37:55.809Z","updated_at":"2025-05-09T14:32:02.732Z","avatar_url":"https://github.com/MorganKryze.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Easy-Git\n\n\u003e Easy Git is a simple tool to help you set up and use your git workspaces.\n\n![Easy Git](src/assets/demo.png)\n\n## Getting Started\n\n### Introduction\n\nEasy Git is a simple tool to help you set up and use your git workspaces. It is designed to be used with a terminal and is written in zsh. It is a simple script that allows you to set up a git workspace, add or remove worktrees, rebase after a PR merge, and manually add emojis to a local repository.\n\n### Prerequisites\n\n- [Git](https://git-scm.com/downloads)\n- A terminal on zsh preferably, but check the warning below if you use bash\n\n### Install\n\nGet into your terminal in your home directory or where you want to install the project (somewhere stable).\n\n```sh\ncd ~\n```\n\nTo install Easy Git, run the following command (at the same level as your .bashrc or .zshrc file):\n\n```sh\ngit clone https://github.com/MorganKryze/Easy-Git.git\n```\n\nOr click on the green \"Code\" button and download the zip file.\n\nThen, go to the project directory:\n\n```sh\ncd Easy-Git\n```\n\nYou can add the commands to your shell configuration file (e.g. `~/.zshrc`). To do so, use the following command:\n\n```sh\nsh add-commands.sh\n```\n\nYou will need to restart your terminal to use the commands below.\n\n### Usage\n\n\u003e [!WARNING]\n\u003e The script are written for a zsh, if you want to use it with bash, you will have to change the script slightly:\n\u003e Comment the line 111 and uncomment the line 112. The issue comes from the fact that bash and zsh have different syntax for the read command.\n\nTry to run the following command to check that the commands are installed and accessible:\n\n```sh\ngit-help\n```\n\nIf you encounter an error, refer to the [Troubleshooting](#troubleshooting) section.\n\n\u003e [!TIP]\n\u003e The project uses [Git emojis](https://github.com/Buzut/git-emojis-hook) from [Buzut](https://github.com/Buzut). That means that you can use emojis in your commit messages. The script will automatically add the emoji to your commit message if you use the right syntax. For example, if you want to add a \"feature\" emoji to your commit message, you can write `:feat: Add a breaking change feature` and the script will automatically replace it with the emoji.\n\nYou may now use these commands:\n\n- `git-help`: Display the help message.\n- `git-setup`: Setup a git workspace (clone, add emojis).\n- `git-addbranch`: Add brand \u0026 worktree to a local repository.\n- `git-addworktree`: Add a worktree to the current repository.\n- `git-rmworktree`: Remove a worktree from the current repository.\n- `git-rebase`: Rebase after PR merge (fix the 1 commit ahead and behind) and allow to stash changes.\n- `git-addemojis`: Manually add emojis to a local repository.\n\n\u003e [!TIP]\n\u003e Always use the `git-help` command to get the help message and the list of available commands and their needed arguments.\n\n### Troubleshooting\n\nIf you encounter this error message (or for any command):\n\n```plaintext\nzsh: command not found: git-help\n```\n\nYou may not have add the path to the `easy-git.sh` file to your shell configuration file (e.g. `~/.zshrc`) or moved the project directory.\n\nThen redo the following command and restart your terminal (or add manually the path to your .zshrc located in `~/.zshrc`):\n\n```sh\nsh add-commands.sh\n```\n\n### Project structure\n\nHere are the most important files and directories of the project (you may ignore the other files and directories):\n\n```plaintext\nEasy-Git\n├── src\n│   ├── assets\n│   │   └── img\n│   │       └── screenshot.png\n│   └── easy-git.sh\n├── .gitignore\n├── add-commands.sh\n├── SECURITY\n├── CODE_OF_CONDUCT\n├── CONTRIBUTING\n├── LICENCE\n└── README.md\n```\n\n#### Small descriptives\n\n##### `src/`\n\nThis directory contains the source code of the project.\n\n##### `src/assets/`\n\nThis directory contains the assets of the project.\n\n##### `easy-git.sh`\n\nThe main file of the project. It contains the commands of the project.\n\n##### `add-commands.sh`\n\nA file to add the commands to your shell configuration file (e.g. `~/.zshrc`).\n\n## Supported platforms\n\n(Tested on MacOS)\n\n- zsh\n- bash\n\n## Future improvements\n\n- Compatibility with other shells\n- Add more commands to manage workspaces\n- Use of gitflow\n\n## Contributing\n\nIf you want to contribute to the project, you can follow the steps described in the [CONTRIBUTING](CONTRIBUTING) file.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorgankryze%2Feasy-git","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmorgankryze%2Feasy-git","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorgankryze%2Feasy-git/lists"}