Git

Git Show Remote Branches

Git Show Remote Branches
A capacidade do Git de criar branches facilmente é um ótimo recurso. No entanto, ao lidar com branches 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 enviar branches para nosso repositório remoto de project_source. Depois disso, vamos clonar o repositório remoto e brincar com os branches. O exercício também deve dar uma ideia de como repositórios remotos como GitHub e BitBucket funcionam. Você pode visualizá-lo da seguinte maneira:

Vamos começar com o repositório Git. Vamos criar uma pasta chamada projeto.git e inicializá-lo para se tornar o repositório remoto:

projeto $ mkdir.idiota
projeto $ cd.git /
$ git init --bare
Repositório Git vazio inicializado em / Users / 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-a para Git:

$ mkdir project_source
 
$ cd project_source
 
$ git init
Repositório Git vazio inicializado em / Users / zakh_eecs / _work / LearnGIT / git_branching_source /
project_source /.git /
 
$ touch ReadMe.TXT
 
$ git add -A
 
$ git commit -m "Confirmação inicial"
[master (root-commit) 176134f] Confirmação inicial
1 arquivo alterado, 0 inserções (+), 0 exclusões (-)
modo de criação 100644 ReadMe.TXT

O project_setup é um diretório Git com ReadMe.arquivo txt. No entanto, ele não está conectado ao nosso repositório remoto. Vamos configurar o projeto.git para ser o repositório remoto para project_source. Podemos fazer isso por meio do seguinte comando:

$ git remote add origin / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.idiota
 
$ git push origin master
Contando objetos: 3, concluído.
Escrevendo objetos: 100% (3/3), 213 bytes | 0 bytes / s, concluído.
Total 3 (delta 0), reutilizado 0 (delta 0)
Para / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.idiota
* [novo ramo] 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, enviamos nosso branch master para o repositório remoto.

Vamos verificar nossos branches (ainda na pasta project_source):

$ git branch
* mestre
 
$ git branch -r
origem / mestre
 
$ git branch -a
* mestre
controles remotos / origem / mestre

O primeiro comando está mostrando apenas o branch local. A opção -r está mostrando o branch remoto. E a opção -a está mostrando local e remoto.

Vamos criar alguns branches em nosso diretório de trabalho:

$ git branch development
 
hotfix $ git branch
 
$ git branch experimental
 
$ git branch -a
desenvolvimento
experimental
hotfix
* mestre
controles remotos / origem / mestre

Criamos ramos chamados de desenvolvimento, hotfix e experimental. Eles estão aparecendo em nossa lista de agências locais. Mas nos controles remotos / origem, há apenas o branch master porque esse é o único que empurramos. A estrela (*) mestre significa que ainda estamos no ramo mestre local. Vamos para o branch de desenvolvimento, confirmar as alterações e enviar essas alterações para o repositório remoto.

$ git checkout development
Mudou para o ramo 'desenvolvimento'
 
$ echo abc> ReadMe.TXT
 
$ git add -A
 
$ git commit -m "Branch de desenvolvimento modificado"
[desenvolvimento dd9933e] Ramificação de desenvolvimento modificada
1 arquivo alterado, 1 inserção (+)
 
$ git push origin development
Contando objetos: 3, concluído.
Escrevendo objetos: 100% (3/3), 257 bytes | 0 bytes / s, concluído.
Total 3 (delta 0), reutilizado 0 (delta 0)
Para / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.idiota
* [novo ramo] desenvolvimento -> desenvolvimento

Vamos verificar todos os branches agora:

$ git branch -a
* desenvolvimento
experimental
hotfix
mestre
controles remotos / origem / desenvolvimento
controles remotos / origem / mestre

Vemos que estamos no ramo de desenvolvimento local, mas também há um ramo de desenvolvimento remoto. Quando implementamos nossas mudanças com o desenvolvimento de origem git push, ele criou o branch de desenvolvimento em remotes / origin.

Vamos agora 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 / Users / zakh_eecs / _work / LearnGIT / git_remote_repository / project.idiota
Clonando em 'projeto' ..
feito.

Nós clonamos uma nova cópia chamada projeto do projeto.idiota. Acesse a pasta do projeto e verifique os branches:

projeto $ cd
 
$ git branch
* mestre

Quando o Git faz um clone inicial de um repositório remoto, ele obtém apenas o branch master. Se usarmos a opção -a, vemos:

$ git branch -a
* mestre
remotes / origin / HEAD -> origem / mestre
controles remotos / origem / desenvolvimento
controles remotos / origem / mestre

Observe que não há ramo de desenvolvimento local. Além disso, nunca enviamos hotfix e branches experimentais de project_source para project.idiota, então não os vemos. O repositório remoto possui ramificações mestre e de desenvolvimento (remotes / origin / HEAD -> origin / master não é uma ramificação, apenas informa para onde o HEAD está apontando).

Vamos colocar o branch de desenvolvimento em nosso ambiente de trabalho:

$ git fetch --all
Buscando origem
 
$ git checkout development
Desenvolvimento de filial configurado para rastrear o desenvolvimento de filial remota desde a origem.
Mudou para um novo ramo 'desenvolvimento'

Se você estiver usando uma versão mais antiga do Git, talvez seja necessário usar:

$ git checkout desenvolvimento origem / desenvolvimento

Agora, se usarmos o comando branch, obteremos:

$ git branch -a
* desenvolvimento
mestre
remotes / origin / HEAD -> origin / master
remotos / origem / desenvolvimento
controles remotos / origem / mestre

Podemos fazer alterações no branch de desenvolvimento, confirmar as alterações e enviar por push usando o comando git push origin development.

Em conclusão

Ao trabalhar com GitHub e BitBucket, você pode usar um link HTTPS ou SSH para se conectar ao seu repositório remoto. Portanto, você definirá sua origem para esses links. Mas os princípios do branch remoto são os mesmos descritos aqui.

Um estudo mais aprofundado:

AppyMouse na tela Trackpad e ponteiro do mouse para tablets Windows
Os usuários de tablets costumam perder o ponteiro do mouse, especialmente quando costumam usar laptops. Os smartphones e tablets touchscreen vêm com m...
O botão do meio do mouse não funciona no Windows 10
O botão do meio do mouse ajuda você a percorrer longas páginas da web e telas com muitos dados. Se isso parar, você vai acabar usando o teclado para r...
Como alterar os botões esquerdo e direito do mouse no PC com Windows 10
É normal que todos os dispositivos de mouse de computador sejam ergonomicamente projetados para usuários destros. Mas existem dispositivos de mouse di...