Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.37.1 → 2.43.0 no changes
- 2.37.0 06/27/22
- 2.36.1 → 2.36.6 no changes
- 2.36.0 04/18/22
- 2.35.1 → 2.35.8 no changes
- 2.35.0 01/24/22
- 2.30.1 → 2.34.8 no changes
- 2.30.0 12/27/20
- 2.29.1 → 2.29.3 no changes
- 2.29.0 10/19/20
RESUMO
git remote [-v | --verbose] git remote add [-t <ramo>] [-m <master>] [-f] [--[no-]tags] [--mirror=<fetch|push>] <nome> <url> git remote rename <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>)…]
COMANDOS
Sem argumentos, exibe uma lista dos ramos remotos existentes. Vários subcomandos estão disponíveis para executar as operações nos ramos remotos.
- add
-
Adiciona um ramo remoto chamado <nome> para o repositório na <url>. O comando
git fetch <nome>
pode ser utilizado para criar e atualizar os ramos monitorados remotamente <nome>/<ramo>.Com a opção
-f
, o comandogit fetch <nome>
é executado imediatamente a informação remota seja configurada.Com a opção
--tags
, ogit fetch <nome>
importa cada tag do repositório remoto.Com a opção
--no-tags
, ogit 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 do glob refspec predefinido para que o ramo remoto monitore todos os ramos sob o espaço de nomesrefs/remotes/<nome>/
, um "refspec" para monitorar apenas o<ramo>
que foi criado. Você pode utilizar mais de um-t <ramo>
para monitorar várias ramificações sem monitorar todas.Com a opção
-m <master>
, uma "ref" simbólicarefs/remotes/<nome>/HEAD
é configurado para apontar para o ramo<master>
do ramo remoto. Veja também o comandoset-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 comandogit 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 paraorigin
estiver definido comomaster
, entãoorigin
poderá ser definido onde quer que você normalmente definiriaorigin/master
.Com
-d
ou--delete
, a referência simbólicarefs/remotes/<nome>/HEAD
é excluída.Com
-a
ou--auto
, o ramo remoto é consultado para determinar o seuHEAD
, então a referência simbólicarefs/remotes/<nome>/HEAD
é definida no mesmo ramo. Como por exemplo, caso oHEAD
remoto aponte paranext
, o comando "git remote set-head origin -a
" definirá a referência remotarefs/remotes/origin/HEAD
pararefs/remotes/origin/next
. Isso só funcionará caso orefs/remotes/origin/next
já existir; caso contrário, deve ser buscado (fetched) primeiro.Utilize o
<ramo>
para definir explicitamente a referência simbólicarefs/remotes/<nome>/HEAD
. Como por exemplo, o comando "git remote set-head origin master" definirá a referência remotarefs/remotes/origin/HEAD
pararefs/remotes/origin/master
. Isso só funcionará caso orefs/remotes/origin/master
já existir; caso contrário, deve ser buscado (fetched) primeiro. - set-branches
-
Altera a lista das ramificações monitoradas pelo ramo remoto informado. Pode ser utilizado para monitorar um subconjunto das ramificações remotas disponíveis após a configuração inicial de um ramo 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
epushInsteadOf
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
--delete
, em vez de alterar as URLs existentes, todas as URLs coincidentes à expressão regular <url> são excluídas para o ramo remoto <nome>. Tentar excluir todas as URLs não push é um erro.Observe que a URL de envio e a URL de busca, mesmo que possam ser definidos de maneira diferente, ainda devem se referir ao mesmo local. O que você impulsionou para a URL de envio deve ser o que você veria se buscasse imediatamente a URL de busca. Caso esteja tentando buscar de um lugar (como por exemplo, a sua "upstream") e enviar para outro (como por exemplo, o seu repositório de publicação), utilize dois ramos 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 comandogit ls remote
; as informações em cache são utilizadas em vez disso. - 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 serão eliminados, mas na verdade não os eliminem. - update
-
A captura das atualizações remoras ou em grupos remotos no repositório como definido em remotes.<grupo>. Caso nenhum grupo local ou remoto seja especificado na linha de comandos, o parâmetro
remotes.default
será utilizado; casoremotes.default
não esteja definido, todos os remotos que não possuem o parâmetro da configuraçãoremote.<nome>.skipDefaultUpdate
definido comotrue
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 é arquivada utilizando as configurações das variáveis
remote.origin.url
e remote.origin.fetch
. (Consulte
git-config[1]).
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]