Vamos começar com o repositório Git. Vamos criar uma pasta chamada projeto.git e inicialize para se tornar o repositório remoto:
Projeto $ mkdir.git
$ CD Project.git/
$ git init - -bar
Repositório Git vazio inicializado em/usuários/zakh_eecs/_work/LearnGit/git_remote_repository/
projeto.git/
Agora vá para um novo local onde você pode criar uma pasta limpa. Crie a pasta Project_Source e inicialize para Git:
$ mkdir Project_source
$ CD Project_source
$ git init
Repositório Git vazio inicializado em/usuários/zakh_eecs/_work/LearnGit/git_branching_source/
Project_source/.git/
$ touch readme.TXT
$ git add -a
$ git Commit -m "Commits inicial"
[Mestre (Compromitido Raiz) 176134f] Commiti
1 arquivo alterado, 0 inserções (+), 0 deleções (-)
Criar modo 100644 ReadMe.TXT
O Project_Setup é um diretório Git com ReadMe.arquivo txt. No entanto, não está conectado ao nosso repositório remoto. Vamos configurar o projeto.Git para ser o repositório remoto para Project_source. Podemos conseguir isso através do seguinte comando:
$ Git Remote Add Origin/Usuários/Zakh_eecs/_work/LearnGit/Git_remote_repository/Project.git
$ Git Push Origin Master
Contando objetos: 3, feito.
Objetos de escrita: 100% (3/3), 213 bytes | 0 bytes/s, feito.
Total 3 (delta 0), reutilizado 0 (delta 0)
Para/usuários/zakh_eecs/_work/LearnGit/git_remote_repository/Project.git
* [New Branch] Mestre -> Mestre
Com o comando Git Remote Add Origin, criamos a conexão entre o projeto.git e project_source. Com o comando Git Push Origin Master, empurramos nosso ramo mestre para o repositório remoto.
Vamos verificar nossas filiais (ainda na pasta Project_source):
Ramo $ git
* mestre
$ git ramo -r
Origem/Master
$ git ramo -a
* mestre
Remotos/Origin/Master
O primeiro comando está mostrando apenas a filial local. A opção -r está mostrando o ramo remoto. E a opção -a está mostrando local e remoto.
Vamos criar alguns ramos em nosso diretório de trabalho:
Desenvolvimento de ramificação $ git
$ git ramo hotfix
$ git ramo experimental
$ git ramo -a
desenvolvimento
experimental
hotfix
* mestre
Remotos/Origin/Master
Criamos ramos chamados de desenvolvimento, hotfix e experimental. Eles estão aparecendo em nossa lista de filiais locais. Mas nos controles remotos/origem, há apenas o mestre ramo porque esse é o único que empurramos. A estrela (*) mestre significa que ainda estamos no ramo mestre local. Vamos entrar no ramo de desenvolvimento, cometer mudanças e empurrar essas mudanças no repositório remoto.
Desenvolvimento de checkout de $ git
Mudou para a filial 'Desenvolvimento'
$ echo abc> readme.TXT
$ git add -a
$ git Commit -M "Ramo de Desenvolvimento Modificado"
[Desenvolvimento DD9933E] Ramo de Desenvolvimento Modificado
1 arquivo alterado, 1 inserção (+)
$ Git Push Origin Development
Contando objetos: 3, feito.
Objetos de escrita: 100% (3/3), 257 bytes | 0 bytes/s, feito.
Total 3 (delta 0), reutilizado 0 (delta 0)
Para/usuários/zakh_eecs/_work/LearnGit/git_remote_repository/Project.git
* [New Branch] Desenvolvimento -> Desenvolvimento
Vamos verificar todas as filiais agora:
$ git ramo -a
* desenvolvimento
experimental
hotfix
mestre
remotos/origem/desenvolvimento
Remotos/Origin/Master
Vemos que estamos no ramo de desenvolvimento local, mas também há um ramo de desenvolvimento remoto. Quando pressionamos nossas mudanças com o desenvolvimento do Git Push Origin, ele criou o ramo de desenvolvimento em remotos/origem.
Vamos sair do Project_Source e encontrar um novo lugar onde possamos ter uma nova pasta. Aqui vamos clonar o repositório remoto com o seguinte comando:
$ git clone/usuários/zakh_eecs/_work/LearnGit/git_remote_repository/projeto.git
Clonando em 'projeto'…
feito.
Nós clonamos uma nova cópia chamada Project do Project.git. Entre na pasta do projeto e verifique as filiais:
$ CD Project
Ramo $ git
* mestre
Quando o Git faz um clone inicial de um repositório remoto, ele só recebe o ramo mestre. Se usarmos a opção -a, vemos:
$ git ramo -a
* mestre
remotos/origem/cabeça -> origem/mestre
remotos/origem/desenvolvimento
Remotos/Origin/Master
Observe que não há ramo de desenvolvimento local. Além disso, nunca empurramos o hotfix e os ramos experimentais do Project_Source para o projeto.git, então não os vemos. O repositório remoto possui ramos mestre e de desenvolvimento (remotos/origem/cabeça -> origem/mestre não é um ramo, está apenas dizendo para onde a cabeça está apontando).
Vamos colocar o ramo de desenvolvimento em nosso ambiente de trabalho:
$ git busca -tudo
Buscar origem
Desenvolvimento de checkout de $ git
Desenvolvimento de ramificação configurado para rastrear o desenvolvimento remoto de ramificação a partir de origem.
Mudou para um novo ramo 'desenvolvimento'
Se você estiver usando uma versão mais antiga do Git, talvez precise usar:
$ GIT DESENVOLVIMENTO DE DESENVOLHAÇÃO
Agora, se usarmos o comando do ramo, obtemos:
$ git ramo -a
* desenvolvimento
mestre
remotos/origem/cabeça -> origem/mestre
remotos/origem/desenvolvimento
Remotos/Origin/Master
Podemos fazer alterações no ramo de desenvolvimento, cometer as mudanças e depois empurrá -lo usando o comando de desenvolvimento de origem git push.
Para concluir
Quando você trabalha com o Github e o Bitbucket, você pode usar o link HTTPS ou SSH para conectar -se ao seu repositório remoto. Então você estará definindo sua origem para esses links. Mas os princípios do ramo remoto são os mesmos descritos aqui.