Git

Git Branch Basics

Git Branch Basics

Noções básicas de ramificação do Git

A capacidade de ramificar facilmente é um dos melhores recursos do Git. Criar ramificações em outros sistemas de controle de versão pode ser caro em termos de espaço e requisitos de processamento. Ramificação Git é eficiente. Portanto, os usuários estão mais propensos a usar branches no Git.

Um fluxo de trabalho de ramificação

Vamos supor que você iniciou um novo projeto chamado myvideogame. Tem um único ramo. O nome padrão do branch inicial no Git é chamado de master. É criado automaticamente.  Vamos criar o repositório Git myvideogame.

$ mkdir myvideogame
$ cd myvideogame
$ git init

Você criou um repositório Git vazio. Vamos adicionar nosso design.arquivo txt com algum texto.

$ echo "Decisão de Design 1: Adicionar Imagens" >> design.TXT
$ echo "Design Decision 2: Write Code" >> design.TXT
$ git add -A
$ git commit -m "C0: Arquivo de design adicionado"

Vamos adicionar mais algumas mudanças:

$ echo "Decisão de Design 3: Jogo de Teste" >> design.TXT
$ git add -A
$ git commit -m "C1: Arquivo de projeto modificado"

Se você verificar o histórico, encontrará:

$ git log --oneline
6a09bd6 C1: Arquivo de projeto modificado
5f18d89 C0: Arquivo de projeto adicionado

Se você verificar o status do Git e todos os branches que foram criados (usando o comando: git branch -a), você verá:

$ git status
No mestre de filial
nada para confirmar, diretório de trabalho limpo
 
$ git branch -a
* mestre

Atualmente, você tem a seguinte situação:

Você fez dois commits no branch master.

Vamos supor que você encontrou bugs no teste do jogo, mas não quer resolver o problema no branch master porque ainda não quer mexer no design original. Portanto, você pode criar um novo branch chamado bugfix:

$ git branch bugfix

Agora, se você verificar todos os ramos:

$ git branch -a
correção de bug
* mestre

Agora você criou um novo branch chamado bugfix. A situação pode ser visualizada da seguinte forma:

No entanto, a estrela (*) ao lado do branch master significa que você ainda está no master. Se você fizer alterações, ele ainda irá para o branch master. Você pode usar o comando checkout para alterar branches:

$ git checkout bugfix
Mudou para branch 'bugfix'

Você pode verificar qual branch está usando com o comando status ou “branch -a”:

$ git status
Correção de bug no branch
nada para confirmar, diretório de trabalho limpo
 
$ git branch -a
* correção de bug
mestre

Agora, vamos corrigir o bug:

$ echo "Bug Fix 1" >> design.TXT
$ git add -A
$ git commit -m "C2: Bug corrigido 1"

Você criou uma situação como esta:

O branch master não tem a mudança C2. Você pode verificar isso facilmente verificando o histórico dos dois ramos.

Primeiro, a história do branch de correção de bugs:

$ git status
Correção de bug no branch
nada para confirmar, diretório de trabalho limpo
 
$ git log --oneline
e8f615b C2: Bug corrigido 1
6a09bd6 C1: Arquivo de projeto modificado
5f18d89 C0: Arquivo de projeto adicionado

Em seguida, você pode alternar para o branch master e verificar seu histórico:

$ git checkout master
Mudou para branch 'master'
 
$ git status
No mestre de filial
nada para confirmar, diretório de trabalho limpo
 
$ git log --oneline
6a09bd6 C1: Arquivo de projeto modificado
5f18d89 C0: Arquivo de projeto adicionado

Você pode ver que o branch master não tem as mudanças do branch de correção de bug.

Você sempre pode criar uma nova filial a partir da filial atual em que está localizado. Suponha que você deseja criar outro branch que conterá recursos experimentais. Você pode criar o branch master e adicionar recursos experimentais a ele:

$ git status
No mestre de filial
nada para confirmar, diretório de trabalho limpo
 
$ git branch experimental
$ git checkout experimental
Mudou para branch 'experimental'
$ git status
No ramo experimental
nada para confirmar, diretório de trabalho limpo
 
$ echo "Adicionando recursos da experiência" >> design.TXT
 
$ git add -A
 
$ git commit -m "C3: Recursos Experimentais Adicionados"
[experimental 637bc20] C3: Recursos experimentais adicionados
1 arquivo alterado, 1 inserção (+)

Se você verificar o histórico de seu branch experimental, verá:

$ git status
No ramo experimental
nada para confirmar, diretório de trabalho limpo
 
$ git log --oneline
637bc20 C3: Recursos Experimentais Adicionados
6a09bd6 C1: Arquivo de projeto modificado
5f18d89 C0: Arquivo de projeto adicionado

Você notará que não tem o commit C2 que foi criado no branch bugfix. Como o branch experimental é criado a partir do branch master, ele não vê as mudanças de correção. Você tem a seguinte situação:

Conclusão

Parabéns! Você aprendeu como ramificar.

Os branches do Git são fáceis e rápidos de fazer. É uma das razões por trás da popularidade do Git. Se você deseja se tornar um usuário proficiente em Git, você precisa se tornar proficiente em ramificação Git.

Um estudo mais aprofundado:

https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branching-and-Merging

Como instalar o League Of Legends no Ubuntu 14.04
Se você é fã de League of Legends, esta é uma oportunidade para testar o funcionamento de League of Legends. Observe que LOL é suportado no PlayOnLinu...
Instale o último jogo de estratégia OpenRA no Ubuntu Linux
OpenRA é um motor de jogo de estratégia em tempo real Libre / Free que recria os primeiros jogos Westwood como o clássico Command & Conquer: Red Alert...
Instale o emulador Dolphin mais recente para Gamecube e Wii no Linux
O Dolphin Emulator permite que você jogue seus jogos de Gamecube e Wii escolhidos em computadores pessoais Linux (PC). Sendo um emulador de jogo disp...