{"id":22672073,"url":"https://github.com/lucaspiritogit/gcyb","last_synced_at":"2026-04-16T18:39:07.150Z","repository":{"id":218448145,"uuid":"746424304","full_name":"lucaspiritogit/gcyb","owner":"lucaspiritogit","description":"A command-line interface (CLI) tool built in Go to manage your Git branches. Detect and delete branches already merged, ensuring a clean and organized repository.","archived":false,"fork":false,"pushed_at":"2024-01-28T02:08:21.000Z","size":31,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-31T18:02:15.553Z","etag":null,"topics":["branches","cli","cli-app","git","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","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/lucaspiritogit.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-01-22T00:36:49.000Z","updated_at":"2024-02-09T20:36:05.000Z","dependencies_parsed_at":"2025-03-29T11:28:29.746Z","dependency_job_id":"5a4c02f7-95ee-40b3-b947-9624f862cd3f","html_url":"https://github.com/lucaspiritogit/gcyb","commit_stats":null,"previous_names":["lucaspiritogit/gcyb"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/lucaspiritogit/gcyb","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaspiritogit%2Fgcyb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaspiritogit%2Fgcyb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaspiritogit%2Fgcyb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaspiritogit%2Fgcyb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucaspiritogit","download_url":"https://codeload.github.com/lucaspiritogit/gcyb/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucaspiritogit%2Fgcyb/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31899970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["branches","cli","cli-app","git","golang"],"created_at":"2024-12-09T16:17:54.021Z","updated_at":"2026-04-16T18:39:07.089Z","avatar_url":"https://github.com/lucaspiritogit.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gcyb (Go Clean Your Branches)\n\n`gcyb` is a CLI tool for Git designed to detect and, optionally, delete branches that have already been merged into your current branch/HEAD. This tool ensures that remote branches are not deleted or updated without your explicit permission. The commands for reading and deleting branches are separated to avoid unintentional cleaning of important branches.\n\n## Features\n\n- Listing Merged Branches: Lists all the branches that have already been merged into the current branch in a table format.\n- Deletable Branches: Identifies branches eligible for deletion based on being already merged into your branch. Stale branches, which have not received commits for an extended period, are highlighted but left for user analysis.\n- Interactive Deletion: Allows you to interactively choose which branches you want to delete.\n- Safety First: Prioritizes safety by not automatically deleting or updating remote branches.\n\n## Commands\n\n1. `gcyb`\n\nThe default execution of the CLI. It will render a table with each branch that could be deleted, and the reason of it. It does not clean or delete.\n\n```bash\ngcyb\n```\n\n1. `gcyb clean`\n\nDeletes every branch that is considered 'deletable'. To be eligible for deletion, a branch must be already merged into your current branch. _This command will ask for permission, twice_.\n\n```bash\ngcyb clean\n```\n\n3. `gcyb pick`\n\nInteractively select which branches you want to delete.\n\n```bash\ngcyb pick\n```\n\n1. `gcyb help`\n\nDisplays information on each command or flag of gcyb.\n\n```bash\n# Any of these counts as valid.\ngcyb help | gcyb -h | gcyb --help\n```\n\n## Flags\n\n1. `repoPath`\n\nCan specify the path of a local git repository, instead of using the working directory (current dir).\n\n```bash\n# Any of these counts as valid.\ngcyb -r path/to/repo | gcyb --repo path/to/repo\n```\n## Ignored branch names\n\nIt is common to have branches where we merge our changes depending on the environment. For that reason, `gcyb` will **not** recognize or try to clean the following branches:\n\n- main\n- master\n- development\n- dev\n- testing\n- test\n\n*More items could be added to the list in the future.*\n\n## Building from Source\n\nEnsure you have [Go](https://go.dev/) installed on your system.\n\n### Clone the repository\n\n```bash\ngit clone https://github.com/lucaspiritogit/gcyb.git\n```\n\n### Change to the project directory\n\n```bash\ncd gcyb\n```\n\n### Build the binary\n\n```go\ngo build\n```\n\n### (Optional) Install it to use it globally\n\n```go\ngo install\n```\n\n### Run the binary\n\n```bash\ngcyb | ./gcyb | ./gcyb.exe\n```\n\n## Verify checksum of binary\n\nDownloading an .exe could and should be approached with caution, especially due to the potential risks associated with malware and viruses. While I provide the .exe in each Release for the convenience of users who do not wish to install Golang on their systems, its important to verify the integrity of the downloaded binary. I always recommend to build from source when its possible.\n\n\n### Windows\n\n*Note: Windows is popular for giving false positives on virus detection. If you encounter any problem, please let me know.*\n\nTo verify the integrity of the gcyb.exe binary on Windows, you can use the Get-FileHash command. Open a PowerShell window and run the following command:\n\n```pwsh\nGet-FileHash gcyb.exe\n```\n\n### Linux\n\nOn Linux, you can use the sha256sum command to verify the checksum of the gcyb binary. Open a terminal and run the following command:\n\n```bash\nsha256sum gcyb\n```\n\nCompare the output checksum with the one provided in the [Releases](https://github.com/lucaspiritogit/gcyb/releases) page of this project.\n\n## Contributing\n\nFeel free to open issue or PR's. Feedback and contributions are welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucaspiritogit%2Fgcyb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucaspiritogit%2Fgcyb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucaspiritogit%2Fgcyb/lists"}