--- sidebar_position: 2 description: "Clone a repository locally" --- # gt repo clone Clone a repository locally ## Synopsis ```text Clone a repository with the configured Git protocol and gt's credentials. Git flags can follow --. A fork's parent is added as the "upstream" remote, and gt commands in the clone then target the parent. A pull mirror's source is added as the "source" remote; gt commands keep targeting the mirror. ``` ``` gt repo clone [] [-- ...] [flags] ``` ## Examples ``` # Clone a repository into ./project $ gt repo clone alice/project # Clone into another directory with the last commit only $ gt repo clone alice/project src --depth 1 # Pass flags to git clone $ gt repo clone alice/project -- --branch develop --recurse-submodules ``` ## Options ``` -d, --depth int Number of commits to fetch (0: full history) -h, --help help for clone --no-upstream Do not add a remote for the parent of a fork or the source of a mirror -u, --upstream-remote-name string Remote name for the parent of a fork (default "upstream") ``` ## Options inherited from parent commands ``` --cwd directory Working directory for repository discovery --debug Log the method, URL, status, and duration of each HTTP request to stderr --host URL Gitea instance URL, including any base path --interactive Allow prompts with machine output -q, --jq expression Filter JSON output using a jq expression; implies --json --json fields[="*"] Output JSON with the specified comma-separated fields, or all fields --no-input Disable prompts and implicit editor/browser interactions --remote remote Git remote used for repository discovery -R, --repo OWNER/REPO Select a repository as OWNER/REPO or URL --sudo user Perform API requests as this user (requires an administrator account) --user name Account name on the selected instance -y, --yes Accept confirmations without prompting ``` ## SEE ALSO * [gt repo](../repo/index.md): Work with Gitea repositories