---
name: "gt-repo-sync"
section: "1"
platform: "linux"
package: "gitea-cli"
version: "1.0.0-1"
release: "Arch Linux 2026-11-07"
platforms: ["linux"]
url: "https://carta.tech/man/gt-repo-sync"
---

# gt-repo-sync(1)

Sync a branch with its remote or its fork's parent

## NAME

gt-repo-sync - Sync a branch with its remote or its fork's parent

## SYNOPSIS

**gt repo sync \[\<repository\>\] \[flags\]**

## DESCRIPTION

Fast-forward a local branch (default: the repository's default branch) to the same branch on the repository's Git remote, without switching branches. Diverged branches are left unchanged.

Given a repository without a Git remote here, sync updates it on the server instead: a fork fast-forwards to its parent, and a pull mirror fetches its source. Gitea updates a mirror as a whole and in the background, so --branch is refused for a mirror, and the JSON result names only the source, as remote.

### ARGUMENTS

```
A repository can be supplied as NAME (one of yours), OWNER/NAME, HOST/OWNER/NAME or a URL.
Without an argument, the repository of the current Git clone is used.
```

### JSON FIELDS

```
branch, commit, previous, remote
```

## OPTIONS

**-b**, **--branch**=""\
 	Branch to sync (default: the repository's default branch)

**-h**, **--help**\[=false\]\
 	help for sync

## OPTIONS INHERITED FROM PARENT COMMANDS

**--csv**\[=""\]\
 	Output CSV with the specified comma-separated **fields**, or all fields

**--cwd**=""\
 	Working **directory** for repository discovery

**--debug**\[=false\]\
 	Log the method, URL, status, and duration of each HTTP request to stderr

**--host**=""\
 	Gitea instance **URL**, including any base path

**--interactive**\[=false\]\
 	Allow prompts with machine output

**-q**, **--jq**=""\
 	Filter JSON output using a jq **expression**; implies --json

**--json**\[=""\]\
 	Output JSON with the specified comma-separated **fields**, or all fields

**--no-input**\[=false\]\
 	Disable prompts and implicit editor/browser interactions

**--remote**=""\
 	Git **remote** used for repository discovery

**-R**, **--repo**=""\
 	Select a repository as **OWNER/REPO** or URL

**--sudo**=""\
 	Perform API requests as this **user** (requires an administrator account)

**--user**=""\
 	Account **name** on the selected instance

## EXAMPLE

```
# Fast-forward the default branch from the repository's remote
$ gt repo sync
# Fast-forward another branch
$ gt repo sync --branch release/1.0
# Update a fork on the server from its parent
$ gt repo sync bob/project
```

## SEE ALSO

**[gt-repo(1)](/man/gt-repo/1.md)**
