Git show ramificações remotas

Git show ramificações remotas
A capacidade do Git de criar ramificações facilmente é um ótimo recurso. No entanto, ao lidar com ramos locais e remotos, pode ficar um pouco complicado. Vamos configurar uma situação em que vamos criar nosso próprio repositório Git que se comportará como um repositório remoto. Então vamos criar e cometer ramos com nosso repositório remoto do Project_source. Depois disso, vamos clonar o repositório remoto e brincar com os ramos. O exercício também deve lhe dar uma idéia de como repositórios remotos como Github e Bitbucket trabalham. Você pode visualizá -lo da seguinte forma:

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.

Um estudo mais aprofundado:

  • https: // git-scm.com/docs/git rale
  • https: // git-scm.com/book/en/v2/git-on-the-server-up-up-the-Server
  • https: // ajuda.Github.com/artigos/adding-an-existing-project-to-github-using-the-command-line/
  • https: // ajuda.Github.com/artigos/empurrar-to-a-remote/