SVN usa um único repositório centralizado para servir como o hub de comunicação para os desenvolvedores, e a colaboração ocorre passando changesets entre as cópias de trabalho dos desenvolvedores e o repositório central. Isso é diferente do modelo de colaboração distribuído do Git, que dá a cada desenvolvedor sua própria cópia do repositório, completo com sua própria história local e estrutura de branch. Os usuários normalmente precisam compartilhar uma série de commits em vez de um único conjunto de mudanças., Em vez de enviar um changeset de uma cópia de trabalho para o repositório central, o Git permite-lhe partilhar ramos inteiros entre repositórios.
o comandogit remote
é uma peça do sistema mais amplo que é responsável por sincronizar as alterações. Registros registrados através de git remote
comandos são usados em conjunto com o git fetch
git push
e git pull
comandos. Estes comandos todos têm suas próprias responsabilidades de sincronização que podem ser exploradas nos links correspondentes.,
git remote
o comando git remote
permite-lhe criar, ver e apagar ligações a outros repositórios. As ligações remotas são mais como favoritos do que ligações diretas para outros repositórios. Em vez de fornecer acesso em tempo real a outro repositório, eles servem como nomes convenientes que podem ser usados para referenciar uma URL não tão conveniente.
Por exemplo, o diagrama seguinte mostra duas ligações remotas do seu repo para o repo central e para o repo de outro programador., Em vez de referenciá-los por seus URLs completos, você pode passar a origem e os atalhos de john para outros comandos Git.
Git remoto de uso visão geral
git remote
comando é essencialmente uma interface para o gerenciamento de uma lista de remoto entradas que são armazenados no repositório do ./.git/config
arquivo. Os seguintes comandos são usados para ver o estado actual da lista remota.
ver configurações remotas do git
git remote
listar as ligações remotas que tem a outros repositórios.,
git remote -v
igual ao comando acima, mas inclui o URL de cada ligação.
criar e modificar configurações remotas do git
o git remote
o comando também é um método de conveniência ou ‘auxiliar’ para modificar um repo’s ./.git/config
ficheiro. Os comandos apresentados abaixo permitem-lhe gerir as ligações com outros repositórios. Os seguintes comandos irão modificar o ficheiro /.git/config
do repo., O resultado dos seguintes comandos também pode ser alcançado através da edição direta do arquivo ./.git/config
com um editor de texto.
git remote add <name> <url>
crie uma nova ligação a um repositório remoto. Depois de adicionar um remoto, você será capaz de usar como um atalho conveniente para outros comandos Git.
git remote rm <name>
remova a ligação ao repositório remoto chamado .
git remote rename <old-name> <new-name>
mudar o nome de uma ligação remota de to .,
git discussão remota
Git é projetado para dar a cada desenvolvedor um ambiente de desenvolvimento inteiramente isolado. Isto significa que a informação não é automaticamente passada para trás e para a frente entre repositórios. Em vez disso, os desenvolvedores precisam puxar manualmente os commits upstream para seu repositório local ou empurrar manualmente seus commits locais de volta para o repositório central. O comando git remote
é realmente apenas uma maneira mais fácil de passar URLs para estes comandos de “partilha”.,
a origem remota
quando clone um repositório com git clone
, cria automaticamente uma ligação remota chamada origem que aponta de volta para o repositório clonado. Isto é útil para os desenvolvedores criando uma cópia local de um repositório central, uma vez que ele fornece uma maneira fácil de puxar mudanças a montante ou publicar commits locais. Este comportamento é também a razão pela qual a maioria dos projetos baseados em Git chamam de origem do repositório central.
os URLs do repositório
git suporta muitas maneiras de referenciar um repositório remoto., Duas das maneiras mais fáceis de acessar um repo remoto São através dos protocolos HTTP e SSH. HTTP é uma maneira fácil de permitir o acesso anônimo, apenas de leitura para um repositório. Por exemplo:
But, it’s generally not possible to push commits to an HTTP address (you wouldn’t want to allow anonymous pushes anyways). For read-write access, you should use SSH instead:
ssh://user@host/path/to/repo.git
irá precisar de uma conta SSH válida na máquina anfitriã, mas, para além disso, o Git suporta o acesso autenticado via SSH fora da caixa. Soluções de hospedagem seguras e modernas, como Bitbucket.com vai providenciar estas URLs para si.
git comandos remotos
o comando git remote
é um dos muitos comandos Git que recebe ‘subcomandos’adicionais anexados., Abaixo está um exame do comumente usado git remote
subcomandos.
ADD <NAME> <URL>
adiciona um registo a ./.git/config
para remoto nomeado no URL do repositório .
aceita uma opção -f
, que irágit fetch
imediatamente após o registo remoto ser criado.
aceita uma opção --tags
, que irágit fetch
imediatamente e importar todas as marcas do repositório remoto.,
RENAME <OLD> <NEW>
Actualizações ./.git/config
para mudar o nome do registro . Todas as ramificações de rastreamento remoto e configurações de configuração para o remoto são atualizadas.
REMOVE or RM <NAME>
Modifica ./.git/config
e remove remoto chamado . Todas as ramificações de localização remota e configurações de configuração para o remoto são removidas.
GET-URL <NAME>
emite os URLs para um registo remoto.
Aceita --push
, os URLs empurrados são questionados em vez de obter URLs.,
com --all
, todos os URLs para o remoto serão listados.
SHOW <NAME>
emite informação de alto nível sobre o remoto .
PRUNE <NAME>
apaga quaisquer ramificações locais que não estejam presentes no repositório remoto.
aceita uma opção --dry-run
que irá listar os ramos que estão definidos para serem podados, mas não os irá realmente podar.
git exemplos remotos
além da origem, é muitas vezes conveniente ter uma conexão com os repositórios de seus companheiros de equipe., Por exemplo, se o seu colega, John, mantida publicamente acessível repositório dev.example.com/john.git
, você pode adicionar uma conexão da seguinte forma:
git remote add john http://dev.example.com/john.git
a Ter este tipo de acesso individuais dos desenvolvedores repositórios torna possível para colaborar fora do repositório central. Isso pode ser muito útil para pequenas equipes trabalhando em um grande projeto.
mostrando os seus comandos
por omissão, o comando git remote
irá listar as ligações remotas previamente guardadas para outros repositórios., Isto irá produzir uma única saída de linha que lista os nomes de “favorito” nome de repos remotos.
$ git remote
origin
upstream
other_users_repo
Invocando git remote
com o -v
opção de imprimir a lista de favoritos repositório de nomes e, além disso, o correspondente a URL do repositório. A opção -v
significa “verbose”. Abaixo está um exemplo de saída de verbose git remote
saída.
adicionar repositórios remotos
o git remote add
irá criar um novo registo de ligações para um repositório remoto., Depois de adicionar um remoto, você será capaz de usar como um atalho conveniente para outros comandos Git. Para mais informações sobre a sintaxe de URL aceitos, veja abaixo a seção “Repository URLs”. Este comando irá criar um novo registo no repositório ./.git/config
. Um exemplo desta atualização de arquivos de configuração segue:
inspecionando um Remoto
o subcomand show pode ser adicionado a git remote
para dar uma saída detalhada sobre a configuração de um remoto., Este resultado irá conter uma lista de ramificações associadas ao remoto e também os pontos finais ligados para obter e empurrar.
git remote show upstream
* remote upstream
Fetch URL: https://bitbucket.com/upstream_user/reponame.git
Push URL: https://bitbucket.com/upstream_user/reponame.git
HEAD branch: master
Remote branches:
master tracked
simd-deprecated tracked
tutorial tracked
Local ref configured for 'git push':
master pushes to master (fast-forwardable)
Buscar e puxar a partir do Git remoto
uma Vez um remoto registro tiver sido configurado através do uso de git remote
comando, o nome remoto pode ser passado como um argumento para outros comandos Git para se comunicar com o repo remoto. Ambos git fetch
, e git pull
podem ser usados para ler a partir de um repositório remoto., Ambos os comandos têm operações diferentes que são explicadas em maior profundidade em seus respectivos links.
empurrar para comandos Git
o comando git push
é usado para escrever para um repositório remoto.
git push <remote-name> <branch-name>
Este exemplo irá enviar o estado local para o repositório remoto indicado por .
Renomear e Remover controles Remotos
git remote rename <old-name> <new-name>
O comando git remote
mudar o nome é auto-explicativo. Quando executado, este comando irá mudar o nome de uma ligação remota para ., Além disso, isso irá modificar o conteúdo de ./.git/config
para mudar o nome do registro para o remoto lá também.
git remote rm <name>
O comando git remote rm
irá remover a conexão com o repositório remoto especificado pelo parâmetro. Para demonstrar vamos ‘desfazer’ a adição remota do nosso último exemplo. Se dermos git remote rm remote_test
e, em seguida, examinar o conteúdo de ./.git/config
podemos ver que o registro não está mais lá.