🍺 BREW Explorer

← all formulae

ghq

brew install ghq v1.10.1 MIT

Remote repository management made easy

477
30-day installs · #1798
3.0k
90-day · #1353
9.5k
365-day · #1456
3.7k
★ GitHub stars · updated 2mo ago

Build dependencies

go

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [
    "go"
  ],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Remote repository management made easy",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:38:01+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "ghq",
  "github_default_branch": "master",
  "github_last_commit_at": "2026-06-15T09:16:02Z",
  "github_readme_excerpt": "= ghq(1) image:https://github.com/x-motemen/ghq/workflows/test/badge.svg?branch=master[\"Build Status\", link=\"https://github.com/x-motemen/ghq/actions?workflow=test\"] image:https://codecov.io/gh/x-motemen/ghq/branch/master/graph/badge.svg[\"Coverage\", link=\"https://codecov.io/gh/x-motemen/ghq\"]\n\n== NAME\n\nghq - Manage remote repository clones\n\n== DESCRIPTION\n\n\u0027ghq\u0027 provides a way to organize remote repository clones, like +go get+ does. When you clone a remote repository by +ghq get+, ghq makes a directory under a specific root directory (by default +~/ghq+) using the remote repository URL\u0027s host and path.\n\n    $ ghq get https://github.com/x-motemen/ghq\n    # Runs `git clone https://github.com/x-motemen/ghq ~/ghq/github.com/x-motemen/ghq`\n\nYou can also list local repositories (+ghq list+).\n\n== SYNOPSIS\n\n[verse]\nghq get [-u] [-p] [--shallow] [--vcs \u003cvcs\u003e] [--look] [--silent] [--branch] [--no-recursive] [--bare] [--partial blobless|treeless] \u003crepository URL\u003e|\u003chost\u003e/\u003cuser\u003e/\u003cproject\u003e|\u003cuser\u003e/\u003cproject\u003e|\u003cproject\u003e\nghq list [-p] [-e] [\u003cquery\u003e]\nghq create [--vcs \u003cvcs\u003e] \u003crepository URL\u003e|\u003chost\u003e/\u003cuser\u003e/\u003cproject\u003e|\u003cuser\u003e/\u003cproject\u003e|\u003cproject\u003e\nghq rm [--dry-run] \u003crepository URL\u003e|\u003chost\u003e/\u003cuser\u003e/\u003cproject\u003e|\u003cuser\u003e/\u003cproject\u003e|\u003cproject\u003e\nghq migrate [-y] [--dry-run] \u003clocal repository path\u003e\nghq root [--all]\n\n== COMMANDS\n\nget::\n    Clone a remote repository under ghq root directory (see\n    \u003c\u003cdirectory-structures,DIRECTORY STRUCTURES\u003e\u003e below). `ghq clone` is an alias for this command.\n    If the repository is\n    already cloned to local, nothing will happen unless \u0027-u\u0027 (\u0027--update\u0027)\n    flag is supplied, in which case the local repository is updated (\u0027git pull --ff-only\u0027 eg.).\n    When you use \u0027-p\u0027 option, the repository is cloned via SSH protocol. +\n    If there are multiple +ghq.root+ s, existing local clones are searched\n    first. Then a new repository clone is created under the primary root if\n    none is found. +\n    With \u0027--shallow\u0027 option, a \"shallow clone\" will be performed (for Git\n    re",
  "github_repo": "x-motemen/ghq",
  "github_stars": 3671,
  "github_topics": [],
  "homepage": "https://github.com/x-motemen/ghq",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 477,
  "installs_365d": 9527,
  "installs_90d": 3015,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "MIT",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "ghq",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 1798,
  "rank_365d": 1456,
  "rank_90d": 1353,
  "raw_hash": "728eb7f2626b3780",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/g/ghq.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [],
  "version_head": "HEAD",
  "version_stable": "1.10.1",
  "versioned_formulae": [],
  "why_use_this": null
}