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 filters (blob:none etc.) are configured. NOTE: This must be placed between remote and subcommand.

COMANDOS

Sem argumentos, mostra uma lista de controles remotos existentes. Vários subcomandos estão disponíveis para realizar operações nos servidores remotos.

add

Adicione um servidor remoto chamado <nome> para o repositório na <URL>. O comando git fetch <nome> pode então ser usado para criar e para atualizar as ramificações rastreadas remotamente <nome>/<ramo>.

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

Com a opção -t <ramo>, em vez da bolha refspec predefinida para o servidor remoto de todas as ramificações no namespace refs/remotes/<nome>/, é criado um refspec para controlar apenas o <ramo>. Você pode fornecer mais de um -t <ramo> para rastrear várias ramificações sem obter todas elas.

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

Altera a lista das ramificações rastreadas pelo servidor remoto informado. Isso pode ser usado para rastrear um subconjunto das ramificações remotas disponíveis após a configuração inicial de um servidor remoto.

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.

Com a opção --delete, em vez de alterar as URLs já existentes, todas as URLs que correspondem ao regex <URL> são excluídas para o <nome> remoto. É um erro a tentativa de excluir todos os URLs que não sejam do push.

Observe que a URL de envio e a URL de busca, mesmo que possam ser definidos de maneiras diferente, ainda devem se referir ao mesmo local. O que você enviou para a URL de envio deve ser o que você veria se obtivesse imediatamente a partir da URL obtida. Se estiver tentando obter de um lugar (do seu "upstream" por exemplo) e enviar para outro (o seu repositório de publicação por exemplo), use dois servidores remotos separados.

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

Traga as atualizações para os servidores remotos ou os grupos remotos no repositório, conforme for definido por remotes.<grupo>. Se nem o grupo nem o servidor remoto forem especificados na linha de comando, o parâmetro de configuração remotes.default será utilizado; se remotes.default não for definido, todos os servidores remotos que não tiverem o parâmetro de configuração remote.<nome>.skipDefaultUpdate definido como true serão atualizados. (consulte git-config[1]).

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

DISCUSSÃO

A configuração remota é obtida usando as variáveis de configuração remote.origin.url e remote.origin.fetch. (consulte 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