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.43.0 11/20/23
- 2.39.1 → 2.42.1 no changes
- 2.39.0 12/12/22
- 2.34.1 → 2.38.5 no changes
- 2.34.0 11/15/21
NOME
git-send-pack - Impulsiona (push) os objetos através do protocolo Git para um outro repositório
RESUMO
git send-pack [--all] [--dry-run] [--force] [--receive-pack=<git-receive-pack>] [--verbose] [--thin] [--atomic] [--[no-]signed|--signed=(true|false|if-asked)] [<host>:]<diretório> [<ref>…]
DESCRIÇÃO
No lugar utilize git push que é um wrapper de maior hierarquia deste comando. Consulte git-push[1].
Invoca o comando git-receive-pack em um repositório possivelmente remoto e atualiza-o a partir do repositório atual, enviando determinados refs.
OPÇÕES
- --receive-pack=<git-recebe-pacote>
-
O caminho para o programa git-receive-pack na extremidade remota. Às vezes é útil ao enviar para um repositório remoto através do ssh e você não possui o programa no diretório no
$PATH
predefinido. - --exec=<git-recebe-pacote>
-
O mesmo que --receive-pack=<git-receive-pack>.
- --all
-
Em vez de definir de forma explicita quais são referências que devem ser atualizadas, atualize todos os cabeçalhos que existam localmente.
- --stdin
-
Pegue a lista dos
refs
do stdin, um por linha. Caso hajarefs
utilizados na linha de comando, além desta opção, osrefs
do stdin serão processados após as da linha de comando.Caso
--stateless-rpc
seja utilizado junto com esta opção, a lista de referências deverá estar no formato do pacote (linha-pkt). Cadaref
deve estar em um pacote separado e a lista deve terminar com um pacote liberado. - --dry-run
-
Faça tudo, exceto realmente enviar as atualizações.
- --force
-
Usually, the command refuses to update a remote ref that is not an ancestor of the local ref used to overwrite it. Esta flag desativa esta verificação. What this means is that the remote repository can lose commits; use it with care.
- --verbose
-
Rode de forma loquaz.
- --thin
-
Envie um pacote "thin", que registra os objetos no formato "deltificado" com base nos objetos não inclusos no pacote para reduzir o tráfego de rede.
- --atomic
-
Use uma transação atômica para atualizar as refs. Caso alguma das refs falhem na atualização, todo o "push" falhará sem alterar nenhuma das refs.
- --[no-]signed
- --signed=(true|false|if-asked)
-
O GPG assina a solicitação impulsionamento para atualizar os
refs
no lado do recebimento permitindo que ele seja verificado pelos ganchos ou seja catalogado nos registros. Caso as opçõesfalse
ou--no-signed
sejam utilizadas, nenhuma tentativa de assinatura será feita. Caso as opçõestrue
ou--signed
sejam utilizadas, o impulsionamento irá falhará caso o servidor não seja compatível com impulsionamentos assinados. Caso seja definido comif-asked
, a assinatura só será realizada caso o servidor seja compatível com impulsionamentos assinados. O impulsionamento falhará caso a chamada atual para o comandogpg --sign
falhe. Para obter detalhes sobre o recebimento na parte final, consulte git-receive-pack[1]. - --push-option=<texto>
-
Encaminha uma cadeia de caracteres específicos para uma opção
push
que será utilizada por ganchos no lado do servidor. Caso o servidor não seja compatível com as opçõespush
, exibe erro. Para mais detalhes consulte git-push[1] e githooks[5]. - <host>
-
Um host remoto para hospedar o repositório. Quando esta parte for definida, o comando git-receive-pack é chamado através do ssh.
- <diretório>
-
O repositório que será atualizado.
- <ref>…
-
O ramo remoto refs que serão atualizados.
ESPECIFICANDO AS REFS
Existem três maneiras para definir quais as refs devem ser atualizadas na extremidade remota.
Com a opção --all
, todos as refs existentes localmente são transferidos
para o lado remoto. Você não pode definir qualquer <ref> caso você
utilize está opção.
Sem --all
e sem qualquer <ref>, os cabeçalhos existentes no lado local e
no lado remoto são atualizadas.
Quando uma ou mais <ref> sejam definidas de forma explicita (seja através
da linha do comando ou através da opção --stdin
), pode ser um único padrão
ou o par deles separados por dois pontos ":" (significa que o nome da "ref"
não pode ter dois pontos). Um único padrão <nome> é apenas uma abreviação
para <nome>:<nome>.
Cada par de padrões consiste no lado da origem (antes dos dois pontos) e no
lado do destino (depois dos dois pontos). O ref
a ser feito o push
é
determinado localizando uma coincidência que corresponda com a origem e a
localização da origem é determinada usando o lado de destino. As regras
utilizadas para coincidir com um ref
são os mesmos utilizados por git
rev-parse
para resolver um nome ref
simbólico. Consulte
git-rev-parse[1].
-
É um erro caso
<src>
não corresponda exatamente a um dosrefs
locais. -
É um erro caso <dst> coincida com mais de uma refs remota.
-
Caso
<dst>
não corresponda a nenhumref
remoto-
é preciso iniciar com "refs/"; o <dst> é utilizado literalmente como destino neste caso.
-
<src> == <dst> e a referência que coincida com <src> não devem existir no conjunto de refs remotas; o "ref" que coincida com o <src> localmente é utilizado como o nome do destino.
-
Sem --force
, a fonte do <src>
"ref" é armazenado no ramo remoto apenas
caso o destino <dst>
não exista ou o destino <dst>
seja um subconjunto
apropriado (ou seja, um ancestral) da origem <src>
. Esta verificação,
conhecida como "verificação de avanço rápido", é realizada para evitar
sobrescrever acidentalmente a "ref" remota e perder os commits de outras
pessoas a partir daí.
Com --force
, a verificação do avanço rápido é desativado para todas as
refs.
Opcionalmente, um parâmetro <ref> pode ser prefixado com um sinal de mais + para desativar a verificação de avanço rápido apenas nessa "ref".
GIT
Parte do conjunto git[1]