Files
docs/cli-docs/reference/repo/migrate.md
T
bircni 55c3a392a1 feat: generate the gt command reference from gitea/cli
update_cli_docs.sh runs gt's own generator and lays the pages out for the
site: one directory per command group, front matter, titles, sidebar
order, fenced help text and rewritten links. --released succeeds while no
series is documented. A weekly workflow proposes updates like the runner's.

Signed-off-by: bircni <[email protected]>
2026-10-22 11:28:15 +02:00

86 lines
3.7 KiB
Markdown

---
sidebar_position: 9
description: "Import a repository from another server"
---
# gt repo migrate
<!-- Generated by update_cli_docs.sh from the gitea/cli sources, do not edit. -->
Import a repository from another server
## Synopsis
```text
Import a repository from a Git URL, or from another forge with --service (which can also copy
issues, pull requests, releases and more). A private source needs --auth-token or --auth-user and
--auth-password. --mirror creates a pull mirror instead. The name defaults to the last segment of
the URL.
```
```
gt repo migrate [<clone-url>] [flags]
```
## Examples
```
# Import a public Git repository
$ gt repo migrate https://github.com/go-gitea/gitea.git
# Mirror a repository into an organization every 8 hours
$ gt repo migrate https://github.com/go-gitea/gitea.git --owner acme --mirror --mirror-interval 8h
# Import a GitHub repository with its issues and pull requests
$ gt repo migrate https://github.com/acme/tool --service github --issues --pull-requests --auth-token-file token.txt
```
## Options
```
--auth-password string Source password (prefer file input)
--auth-password-file string Read source password from file or -
--auth-token string Source API token (prefer file input)
--auth-token-file string Read source API token from file or -
--auth-user string Source authentication username
-d, --description string Repository description
-h, --help help for migrate
--issues Copy issues
--labels Copy labels
--lfs Copy LFS objects
--lfs-endpoint string Source LFS endpoint
--milestones Copy milestones
--mirror Create a pull mirror
--mirror-interval string Mirror interval, for example 8h (0 turns off periodic sync)
--name string Destination repository name (default: the source's name)
--owner string Destination user or organization (default: your account)
--private Make the imported repository private
--pull-requests Copy pull requests
--releases Copy releases
--server-path string Absolute source Git repository path on the Gitea server (requires server permission)
--service string Source service {git|gitea|gitlab|gogs|github} (default "git")
--timeout duration Maximum migration request duration; Gitea may continue an import after cancellation (default 10m0s)
--wiki Copy wiki
```
## 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