Git
Português (Brasil) ▾Topics ▾Latest version ▾ git-remote last updated in 2.45.0

NOME

git-remote - Gerencie o conjunto dos repositórios monitorados

RESUMO

git remote [-v | --verbose]
git remote add [-t <branch>] [-m <master>] [-f] [--[no-]tags] [--mirror=(fetch|push)] <name> <URL>
git remote rename [--[no-]progress] <antigo> <novo>
git remote remove <nome>
git remote set-head <nome> (-a | --auto | -d | --delete | <ramo>)
git remote set-branches [--add] <nome> <ramo>…​
git remote get-url [--push] [--all] <nome>
git remote set-url [--push] <nome> <newurl> [<oldurl>]
git remote set-url --add [--push] <nome> <newurl>
git remote set-url --delete [--push] <nome> <URL>
git remote [-v | --verbose] show [-n] <nome>…​
git remote prune [-n | --dry-run] <nome>…​
git remote [-v | --verbose] update [-p | --prune] [(<grupo> | <remoto>)…​]

DESCRIÇÃO

Gerencie o conjunto de repositórios ("remotos") cujos ramos você monitora.

OPÇÕES

-v
--verbose

Be a little more verbose and show remote url after name. For promisor remotes, also show which filter (blob:none etc.) are configured. NOTE: This must be placed between remote and subcommand.

COMANDOS

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

add

Add a remote named <name> for the repository at <URL>. The command git fetch <name> can then be used to create and update remote-tracking branches <name>/<branch>.

Com a opção -f, o comando git fetch <nome> é executado imediatamente a informação remota seja configurada.

Com a opção --tags, o git fetch <nome> importa cada tag do repositório remoto.

Com a opção --no-tags, o git fetch <nome> não importa as tags do repositório remoto.

É predefinido que apenas as tags recolhidas dos ramos são importadas (consulte 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.

Com a opção -m <master>, uma "ref" simbólica refs/remotes/<nome>/HEAD é configurado para apontar para o ramo <master> do ramo remoto. Veja também o comando set-head.

Quando um espelho de busca é criado com a opção --mirror=fetch, as refs não serão armazenados no espaço de nomes refs/remotes/, porém tudo nas refs/ no ramo remoto será espelhado diretamente na refs/ em o repositório local. Esta opção faz sentido apenas nos repositórios vazios, porque uma busca substituirá quaisquer commits locais.

Quando um espelho "push" é criado com a opção --mirror=push, então o comando git push sempre se comportará como se o --mirror fosse utilizado.

rename

Renomeie o ramo remoto chamado <old> para <novo>. Todos os ramos monitorados remotamente e as suas definições de configuração para o ramo remoto são atualizados.

Caso <antigo> e <novo> sejam iguais, e <old> seja um arquivo existente no $GIT_DIR/remotes ou $GIT_DIR/branches, o ramo remoto será convertido para o formato do arquivo de configuração.

remove
rm

Remova o ramo remoto chamado <nome>. Todos os ramos monitorados remotamente e as suas definições de configuração para o ramo remoto são atualizados.

set-head

Define ou exclui o ramo predefinido (ou seja, o destino da ref simbólica refs/remotes/<nome>/HEAD) do ramo remoto informado. Não é necessário ter um ramo remoto predefinido para o ramo remoto, porém permite que o nome do ramo remoto seja utilizado no lugar de um ramo específico. Como por exemplo, caso o ramo predefinido para origin estiver definido como master, então origin poderá ser definido onde quer que você normalmente definiria origin/master.

Com -d ou --delete, a referência simbólica refs/remotes/<nome>/HEAD é excluída.

Com -a ou --auto, o ramo remoto é consultado para determinar o seu HEAD, então a referência simbólica refs/remotes/<nome>/HEAD é definida no mesmo ramo. Como por exemplo, caso o HEAD remoto aponte para next, o comando git remote set-head origin -a definirá a referência remota refs/remotes/origin/HEAD para refs/remotes/origin/next. Isso só funcionará caso o refs/remotes/origin/next já existir; caso contrário, deve ser buscado (fetched) primeiro.

Utilize o <ramo> para definir explicitamente a referência simbólica refs/remotes/<nome>/HEAD. Como por exemplo, o comando git remote set-head origin master definirá a referência remota refs/remotes/origin/HEAD para refs/remotes/origin/master. Isso só funcionará caso o refs/remotes/origin/master já existir; caso contrário, deve ser buscado (fetched) primeiro.

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.

Os ramos informados serão interpretados como se fossem definidos com a opção -t na linha de comando git remote add.

Com --add, em vez de substituir a lista das ramificações monitoradas no momento, será adicionada a lista.

get-url

Recupera as URLs para um ramo remoto. As configurações para o ratherOf e pushInsteadOf são expandidas aqui. É predefinido que, apenas a primeira URL é listada.

Com o --push, as URLs push são apenas consultadas em vez de buscar as URLs.

Com --all, todas as URLs para o ramo remoto serão listadas.

set-url

Altera as URLs para o ramo remoto. Define a primeira URL para o <nome> remoto que coincida com à regex <oldurl> (primeira URL caso nenhuma <oldurl> seja informada) como <newurl>. Caso <oldurl> não coincida com nenhuma URL, ocorrerá um erro e nada será alterado.

Com o --push, as URLs push são manipuladas em vez de buscar as URLs.

Com --add, em vez de alterar as URLs existentes, uma nova URL é adicionada.

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

Fornece algumas informações sobre o ramo remoto <nome>.

Com a opção -n, os cabeçalhos remotos não são consultadas primeiro com o comando git ls-remote <nome>; em vez disso são utilizadas as informações em cache.

prune

Exclui as referências antigas associadas com <nome>. É predefinido que as ramificações antigas monitoradas remotamente sob <nome> são excluídas, porém, dependendo da configuração global e da configuração do ramo remoto, podemos até remover as tags locais que não foram enviadas para lá. É o equivalente ao comando git fetch --prune <nome>, exceto que nenhuma nova referência será buscada.

Veja a seção PRUNING do git-fetch[1] para saber o que será removido dependendo das várias configurações.

Com a opção --dry-run, relate quais os ramos poderão ser eliminados, mas na verdade não os eliminem.

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]).

Com a opção --prune, execute a poda em todos os ramos remotos que estão atualizados.

DISCUSSÃO

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

CONDIÇÃO DE ENCERRAMENTO

Em casos bem sucedidos o estatus de saída é 0.

Quando subcomandos como add, rename, e remove não conseguem encontrar o ramo remoto em questão, o status encerra com 2. Quando o ramo remoto já existir, encerra com 3.

Com qualquer outro erro, o estado da saída pode ser qualquer outro valor diferente de zero.

EXEMPLOS

  • Adicione um novo ramo remoto, busque e averigue um ramo dele

    $ 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
    ...
    Do 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
    ...
  • Imite o comando git clone, porém monitore apenas os ramos selecionados

    $ 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

GIT

Parte do conjunto git[1]

scroll-to-top