Manage set of tracked repositories


Show a list of existing remotes, their names and URL

$ git remote -v

Show information about a remote

$ git remote show [remote_name]

Add a remote

$ git remote add [remote_name] [remote_url]

Change the URL of a remote (use --add to keep the existing URL)

$ git remote set-url [remote_name] [new_url]

Remove a remote

$ git remote remove [remote_name]

Rename a remote

$ git remote rename [old_name] [new_name]


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


Manage the set of repositories ("remotes") whose branches you track .


-v, --verbose Be a little more verbose and show remote url after name . NOTE: This must be placed between remote and subcommand .


With no arguments, shows a list of existing remotes . Several subcommands are available to perform operations on the remotes .

add Adds a remote named <name> for the repository at <url> . The command gitfetch <name> can then be used to create and update remote -tracking branches <name>/<branch> .
With -f option, gitfetch <name> is run immediately after the remote information is set up .
With --tags option, gitfetch <name> imports every tag from the remote repository .
With --no -tags option, gitfetch <name> does not import tags from the remote repository .
By default, only tags on fetched branches are imported (see git-fetch (1)).
With -t <branch> option, instead of the default glob refspec for the remote to track all branches under the refs/remotes/<name>/ namespace, a refspec to track only <branch> is created . You can give more than one -t <branch> to track multiple branches without grabbing all branches .
With -m <master> option, a symbolic -ref refs/remotes/<name>/HEAD is set up to point at remote <master> branch . See also the set -head command .
When a fetch mirror is created with --mirror=fetch ,the refs will not be stored in the refs/remotes/ namespace, but rather everything in refs/ on the remote will be directly mirrored into refs/ in the local repository . This option only makes sense in bare repositories, because a fetch would overwrite any local commits .
When a push mirror is created with --mirror=push ,then gitpush will always behave as if --mirror was passed .

rename Rename the remote named <old> to <new> . All remote -tracking branches and configuration settings for the remote are updated .
In case <old> and <new> are the same, and <old> is a file under $GIT_DIR/remotes or $GIT_DIR/branches ,the remote is converted to the configuration file format .

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

set-head Sets or deletes the default branch (i .e . the target of the symbolic -ref refs/remotes/<name>/HEAD )for the named remote . Having a default branch for a remote is not required, but allows the name of the remote to be specified in lieu of a specific branch . For example, if the default branch for origin is set to master ,then origin may be specified wherever you would normally specify origin/master .
With -d or --delete ,the symbolic ref refs/remotes/<name>/HEAD is deleted .
With -a or --auto ,the remote is queried to determine its HEAD ,then the symbolic -ref refs/remotes/<name>/HEAD is set to the same branch . e .g ., if the remote HEAD is pointed at next ," gitremote set -head origin -a "will set the symbolic -ref refs/remotes/origin/HEAD to refs/remotes/origin/next . This will only work if refs/remotes/origin/next already exists; if not it must be fetched first .
Use <branch> to set the symbolic -ref refs/remotes/<name>/HEAD explicitly . e .g ., "git remote set -head origin master" will set the symbolic -ref refs/remotes/origin/HEAD to refs/remotes/origin/master . This will only work if refs/remotes/origin/master already exists; if not it must be fetched first .

set-branches Changes the list of branches tracked by the named remote . This can be used to track a subset of the available remote branches after the initial setup for a remote .
The named branches will be interpreted as if specified with the -t option on the gitremote add command line .
With --add ,instead of replacing the list of currently tracked branches, adds to that list .

get-url Retrieves the URLs for a remote . Configurations for insteadOf and pushInsteadOf are expanded here . By default, only the first URL is listed .
With --push ,push URLs are queried rather than fetch URLs .
With --all ,all URLs for the remote will be listed .

set-url Changes URLs for the remote . Sets first URL for remote <name> that matches regex <oldurl> (first URL if no <oldurl> is given) to <newurl> . If <oldurl> doesn match any URL, an error occurs and nothing is changed .
With --push ,push URLs are manipulated instead of fetch URLs .
With --add ,instead of changing existing URLs, new URL is added .
With --delete ,instead of changing existing URLs, all URLs matching regex <url> are deleted for remote <name> . Trying to delete all non -push URLs is an error .
Note that the push URL and the fetch URL, even though they can be set differently, must still refer to the same place . What you pushed to the push URL should be what you would see if you immediately fetched from the fetch URL . If you are trying to fetch from one place (e .g . your upstream) and push to another (e .g . your publishing repository), use two separate remotes .

show Gives some information about the remote <name> .
With -n option, the remote heads are not queried first with gitls -remote <name> ;cached information is used instead .

prune Deletes stale references associated with <name> . By default, stale remote -tracking branches under <name> are deleted, but depending on global configuration and the configuration of the remote we might even prune local tags that haven been pushed there . Equivalent to gitfetch --prune <name> ,except that no new references will be fetched .
See the PRUNING section of git-fetch (1) for what it prune depending on various configuration .
With --dry -run option, report what branches will be pruned, but do not actually prune them .

update Fetch updates for remotes or remote groups in the repository as defined by remotes .<group> . If neither group nor remote is specified on the command line, the configuration parameter remotes .default will be used; if remotes .default is not defined, all remotes which do not have the configuration parameter remote .<name> .skipDefaultUpdate set to true will be updated . (See git-config (1)).
With --prune option, run pruning against all the remotes that are updated .


The remote configuration is achieved using the remote.origin .url and remote.origin .fetch configuration variables . (See git-config (1)).


'-04' '+03' .sp -1

2.3 Add a new remote, fetch, and check out a branch from it
.RS 4
$ git remote origin $ git branch -r origin/HEAD -> origin/master origin/master $ git remote add staging git://git .kernel .org/ . . ./gregkh/staging .git $ git remote origin staging $ git fetch staging . . . From git://git .kernel .org/pub/scm/linux/kernel/git/gregkh/staging * [new branch] master -> staging/master * [new branch] staging -linus -> staging/staging -linus * [new branch] staging -next -> staging/staging -next $ git branch -r origin/HEAD -> origin/master origin/master staging/master staging/staging -linus staging/staging -next $ git switch -c staging staging/master . . . .RE

'-04' '+03' .sp -1

2.3 Imitate gitclone but track only selected branches
.RS 4
$ mkdir project .git $ cd project .git $ git init $ git remote add -f -t master -m master origin git://example .com/git .git/ $ git merge origin .RE


Part of the git (1)suite


git-fetch(1) git-branch(1) git-config(1)

Copied to clipboard
free 100$ digital ocean credit