GitGit Remote


  • git remote [-v | --verbose]
  • git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>]<name> <url>
  • git remote rename <old> <new>
  • git remote remove <name>
  • git remote set-head <name> (-a | --auto | -d | --delete | <branch>)
  • git remote set-branches [--add] <name> <branch>...
  • git remote set-url [--push] <name> <newurl> [<oldurl>]
  • git remote set-url --add [--push] <name> <newurl>
  • git remote set-url --delete [--push] <name> <url>
  • git remote [-v | --verbose] show [-n] <name>...
  • git remote prune [-n | --dry-run] <name>...
  • git remote [-v | --verbose] update [-p | --prune] [(<group> | <remote>)...]
  • git remote show <name>


-v, --verboseRun verbosely.
-m <master>Sets head to remote's <master> branch
--mirror=fetchRefs will not be stored in refs/remotes namespace, but instead will be mirrored in the local repo
--mirror=pushgit push will behave as if --mirror was passed
--no-tagsgit fetch <name> does not import tags from the remote repo
-t <branch>Specifies the remote to track only <branch>
-fgit fetch <name> is run immediately after remote is set up
--tagsgit fetch <name> imports every tag from the remote repo
-a, --autoThe symbolic-ref's HEAD is set to the same branch as the remote's HEAD
-d, --deleteAll listed refs are deleted from the remote repository
--addAdds <name> to list of currently tracked branches (set-branches)
--addInstead of changing some URL, new URL is added (set-url)
--allPush all branches.
--deleteAll urls matching <url> are deleted. (set-url)
--pushPush URLS are manipulated instead of fetch URLS
-nThe remote heads are not queried first with git ls-remote <name>, cached information is used instead
--dry-runreport what branches will be pruned, but do not actually prune them
--pruneRemove remote branches that don't have a local counterpart

Add a Remote Repository

To add a remote, use git remote add in the root of your local repository.

For adding a remote Git repository <url> as an easy short name <name> use

git remote add <name> <url>

The command git fetch <name> can then be used to create and update remote-tracking branches <name>/<branch>.

Rename a Remote Repository

Rename the remote named <old> to <new>. All remote-tracking branches and configuration settings for the remote are updated.

To rename a remote branch name dev to dev1 :

git remote rename dev dev1

Remove a Remote Repository

Remove the remote named <name>. All remote-tracking branches and configuration settings for the remote are removed.

To remove a remote repository dev:

git remote rm dev

Display Remote Repositories

To list all configured remote repositories, use git remote.

It shows the short name (aliases) of each remote handle that you have configured.

$ git remote

To show more detailed information, the --verbose or -v flag can be used. The output will include the URL and the type of the remote (push or pull):

$ git remote -v
premiumPro (fetch)
premiumPro (push)
premium (fetch)
premium (push)
origin (fetch)
origin (push)

Change remote url of your Git repository

You may want to do this if the remote repository is migrated. The command for changing the remote url is:

git remote set-url

It takes 2 arguments: an existing remote name (origin, upstream) and the url.

Check your current remote url:

git remote -v
origin (fetch)
origin (push)

Change your remote url:

git remote set-url origin https://localserver/develop/myrepo.git

Check again your remote url:

git remote -v
origin    https://localserver/develop/myrepo.git (fetch)
origin    https://localserver/develop/myrepo.git (push)

Show more information about remote repository

You can view more information about a remote repository by git remote show <remote repository alias>

git remote show origin


remote origin
Fetch URL:  https://localserver/develop/myrepo.git
Push  URL:  https://localserver/develop/myrepo.git
HEAD branch: master
Remote branches:
  master      tracked
Local branches configured for 'git pull':
  master      merges with remote master
Local refs configured for 'git push':
  master      pushes to master      (up to date)