Latest web development tutorials

repositório remoto git

Git não é de que existe um servidor central como SVN.

No momento, estamos usando para Git comandos são executados localmente, Git se você deseja compartilhar o seu código ou em cooperação com outros desenvolvedores. Você precisa colocar os dados em um único servidor pode se conectar a outros desenvolvedores.

Este exemplo usa o repositório Github como um controle remoto, você pode ler o nosso primeiro tutorial simples Github.


Adicionando bibliotecas remotas

Para adicionar um novo repositório remoto, você pode especificar um nome simples, para referência futura, o formato do comando é a seguinte:

git remote add [shortname] [url]

Neste exemplo, um repositório remoto Github como um exemplo, se você não pode GitHub site oficial https://github.com/ registrado.

Desde a transmissão de seu repositório Git local e repositório GitHub é através de criptografia SSH, por isso precisamos para configurar as informações de autenticação:

Use o seguinte comando para gerar SSH Key:

$ ssh-keygen -t rsa -C "[email protected]"

[email protected] de volta para sua caixa postal registrada no github, em seguida, você será solicitado para confirmar o caminho e digite a senha, que usamos a forma padrão para entrar na linha. Bem sucedida irá gerar .ssh pasta ~ / abaixo, dentro, id_rsa.pub aberta, copiar dentro da chave.

Voltar no github, digite Configurações de Conta (configuração de conta), os selecionados Chaves SSH esquerda, Adicionar SSH Key, título Basta preencher colado gerado em sua chave de computador.

Para verificar bem-sucedido, digite o seguinte comando:

$ ssh -T [email protected]
Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access.

O comando a seguir mostra que temos conectado com sucesso ao Github.

Após o login e clique em "New repositório" como mostrado abaixo:

Após o nome do repositório w3cschool.cc preenchido (nome remoto repositório), outros manter as configurações padrão, clique no botão "Criar repositório", que criou com sucesso um novo repositório Git:

Uma vez criada, a seguinte informação é exibida:

As informações acima, podemos dizer a partir deste repositório novo armazém clone, o conteúdo pode ser empurrado para repositório local repositório GitHub.

Agora, siga as instruções para GitHub, e executar o comando em um armazém local:

$ ls
README
w3cschool本教程测试.txt
test.txt
$ git remote add origin [email protected]:tianqixin/w3cschool.cc.git
$ git push -u origin master
Counting objects: 21, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (15/15), done.
Writing objects: 100% (21/21), 1.73 KiB | 0 bytes/s, done.
Total 21 (delta 4), reused 0 (delta 0)
To [email protected]:tianqixin/w3cschool.cc.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

Os seguintes comandos de acordo com a sua cópia local no Github criado com sucesso um novo armazém, em vez de me dar ordens, porque o nosso nome de usuário Github não é o mesmo, não é o mesmo nome do repositório.

Em seguida, criamos um retorno repositório GitHub, você pode ver os arquivos foram enviados para Github:


Verifique a biblioteca remota atual

Para ver o que o repositório remoto atual é organizado, você pode usar o comando:

git remote
$ git remote
origin
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)

Com o parâmetro -v, você também pode ver o endereço do link real para cada alias quando executado.


Extrair um repositório remoto

Git tem dois comandos usados ​​para extrair as atualizações repositório remoto.

1. Faça o download do novo ramo com os dados de um repositório remoto:

git fetch

A necessidade de se realizar após ser executado git merge um ramo remoto em seu ramo está localizado.

2, extrair dados de um armazém remoto e tentar mesclar no branch atual:

git pull

O comando é executado em qualquer ramo em sua git fetch imediatamente após a execução do ramo remoto para a mesclagem git.

Suponha que você tenha configurado um repositório remoto, e você deseja extrair os dados atualizados, você pode executar git fetch [alias] dizer Git para obtê-lo você não tem os dados e, em seguida, você pode executar git merge [alias] / [ramo primeiro ] para quaisquer atualizações no servidor (supondo que desta vez ele foi empurrado para o servidor) em seu ramo atual.

Em seguida, clique em ".txt teste tutorial w3cschool" no Github e modificá-lo online. Assim que tivermos realizado as alterações localmente.

$ git fetch origin
Warning: Permanently added the RSA host key for IP address '192.30.252.128' to the list of known hosts.
remote: Counting objects: 3, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:tianqixin/w3cschool.cc
   7d2081c..f5f3dd5  master     -> origin/master

As informações acima "7d2081c..f5f3dd5 master -> origem / master" instruções mestre do ramo foram atualizados, podemos usar o seguinte comando para atualizar sincronizado com um local:

$ git merge origin/master
Updating 7d2081c..f5f3dd5
Fast-forward
 "w3cschool\350\217\234\351\270\237\346\225\231\347\250\213\346\265\213\350\257\225.txt" | 1 +
 1 file changed, 1 insertion(+)

Empurrar para um repositório remoto

Empurre a sua nova filial ea data warehouse para uma extremidade distal do comando:

git push [alias] [branch]

O comando acima, você [ramo] empurrar filial para se tornar [ramo] ramo, exemplos [alias] repositório remoto é o seguinte.

$ git merge origin/master
Updating 7d2081c..f5f3dd5
Fast-forward
 "w3cschool\350\217\234\351\270\237\346\225\231\347\250\213\346\265\213\350\257\225.txt" | 1 +
 1 file changed, 1 insertion(+)
bogon:w3cschoolcc tianqixin$ vim w3cschool本教程测试.txt 
bogon:w3cschoolcc tianqixin$ git push origin master
Everything up-to-date

Excluir um repositório remoto

Excluindo repositório remoto, você pode usar o comando:

git remote rm [别名]
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)
$ git remote add origin2 [email protected]:tianqixin/w3cschool.cc.git
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)
origin2	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin2	[email protected]:tianqixin/w3cschool.cc.git (push)
$ git remote rm origin2
$ git remote -v
origin	[email protected]:tianqixin/w3cschool.cc.git (fetch)
origin	[email protected]:tianqixin/w3cschool.cc.git (push)