Git

Como Excluir um Branch Git

Como Excluir um Branch Git
Criar branches no Git é fácil. É considerado um dos melhores recursos do Git. No entanto, devido à presença de repositórios remotos e locais, deletar branches pode se tornar um pouco confuso.

Nesta lição, faremos o seguinte:

A lição deve lhe dar uma compreensão geral do processo de criação e exclusão de branch, para que você tenha um bom comando sobre as etapas necessárias quando precisar excluir um branch local ou remoto.

Vamos começar.

1. Criando um Repositório Remoto

Vamos criar uma pasta chamada projeto.git e inicializar para ser o repositório remoto:

projeto $ mkdir.idiota
projeto $ cd.idiota
$ git init -bare

Repositório Git vazio inicializado em / Users / zak / _work / LearnGIT / git_delete_branch / project.git /

2. Criando uma cópia local do repositório remoto

Em um novo local, vamos criar uma cópia local chamada project_local do repositório remoto usando o comando clone.

Nota: Se você estiver trabalhando com o GitHub ou BitBucket, você seguirá o mesmo processo para clonar o repositório. Nesse caso, você terá um link SSH em vez do caminho completo do arquivo usado aqui.

$ git clone / Users / zak / _work / LearnGIT / git_delete_branch / project.git project_local
Clonando em 'project_local'…
aviso: você parece ter clonado um repositório vazio.
feito.

3. Criação de ramos dentro da cópia local

Vamos primeiro adicionar um arquivo à cópia local e, em seguida, enviá-lo para o repositório remoto:

$ cd project_local
 
$ touch ReadMe.TXT
 
$ git add -A
 
$ git commit -m "Inicializando o Módulo"
 
[master (root-commit) 81eb2a3] Inicializando o Módulo
1 arquivo alterado, 0 inserções (+), 0 exclusões (-)
modo de criação 100644 ReadMe.TXT
 
$ git push origin master
 
Contando objetos: 3, concluído.
Escrevendo objetos: 100% (3/3), 221 bytes | 0 bytes / s, concluído.
Total 3 (delta 0), reutilizado 0 (delta 0)
Para / Users / zak / _work / LearnGIT / git_delete_branch / project.idiota
* [novo ramo] mestre -> mestre

Nos comandos acima, criamos um arquivo chamado ReadMe.txt, adicionou-o à cópia local, confirmou-o na cópia local e, em seguida, enviou as alterações para o repositório remoto ou branch master de origem.

Se você verificar os branches, verá o branch master na cópia local:

$ git branch
* mestre

Se você verificar os branches remotos, verá o branch master lá também:

$ git branch -r
origem / mestre

Dica: você pode usar a opção '-a' para ver todos os ramos em repositórios locais e remotos juntos.

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

Vamos criar dois branches chamados b1 e b2 do branch master:

$ git branch b1
$ git branch b2

Vamos verificar se os branches foram criados:

$ git branch
 
b1
b2
* mestre

Agora vamos fazer algumas modificações nas ramificações:

$ git checkout b1
 
Mudou para o branch 'b1'
 
$ touch branch1.TXT
 
$ git add -A
 
$ git commit -m "modificação Branch1"
 
[b1 a2f488e] Modificação de Branch1
1 arquivo alterado, 0 inserções (+), 0 exclusões (-)
modo de criação 100644 branch1.TXT
 
$ git checkout b2
 
Mudou para o branch 'b2'
 
$ touch branch2.TXT
 
$ git add -A
 
$ git commit -m "modificação Branch2"
 
[b2 2abb723] Modificação de Branch2
1 arquivo alterado, 0 inserções (+), 0 exclusões (-)
modo de criação 100644 branch2.TXT

Vamos verificar o status das filiais locais e remotas:

$ git branch
 
b1
* b2
mestre
 
$ git branch -r
 
origem / mestre

Podemos ver localmente que temos três branches master, b1 e b2. Mas temos apenas o branch master no repositório remoto.

4. Empurrando Ramificações para Repositório Remoto

Vamos enviar o branch b1 para o repositório remoto:

$ git push origin b1
 
Contando objetos: 2, concluído.
Compressão delta usando até 4 threads.
Comprimir objetos: 100% (2/2), concluído.
Escrevendo objetos: 100% (2/2), 249 bytes | 0 bytes / s, concluído.
Total 2 (delta 0), reutilizado 0 (delta 0)
Para / Users / zakh / _work / LearnGIT / git_delete_branch / project.idiota
* [novo ramo] b1 -> b1

Você pode verificar o status da filial local e remota:

$ git branch
 
b1
* b2
mestre
 
$ git branch -r
 
origem / b1
origem / mestre

A partir dos status do branch acima, podemos ver que o branch b1 também está disponível remotamente.

5. Exclusão de ramos localmente

Você pode excluir ramos localmente com a opção -d ou -D.

git branch -d

Vamos primeiro verificar no branch master, para que possamos excluir os branches b1 e b2.

$ git checkout master
 
Mudou para branch 'master'
Sua filial está atualizada com 'origin / master'.

Vamos tentar a opção -d primeiro para excluir o branch b1:

$ git branch -d b1
 
erro: O branch 'b1' não está totalmente mesclado.
Se você tem certeza que deseja excluí-lo, execute 'git branch -D b1'.

O erro está dizendo que você deve mesclar as alterações do branch b1. Esta é uma salvaguarda, para que você não perca por engano seu trabalho nas filiais. Você pode usar a opção -D para forçar a exclusão da mesclagem. Mas, neste caso, vamos mesclar as alterações de b1 e b2 no mestre e enviá-lo para o repositório remoto.

$ git merge b1
 
Atualizando 81eb2a3… a2f488e
Avanço rápido
branch1.txt | 0
1 arquivo alterado, 0 inserções (+), 0 exclusões (-)
modo de criação 100644 branch1.TXT
 
$ git merge b2
 
Mesclagem feita pela estratégia 'recursiva'.
branch2.txt | 0
1 arquivo alterado, 0 inserções (+), 0 exclusões (-)
modo de criação 100644 branch2.TXT
 
$ git push origin master
 
Contando objetos: 4, concluído.
Compressão delta usando até 4 threads.
Comprimir objetos: 100% (4/4), concluído.
Escrevendo objetos: 100% (4/4), 454 bytes | 0 bytes / s, concluído.
Total 4 (delta 1), reutilizado 0 (delta 0)
Para / Users / zak / _work / LearnGIT / git_delete_branch / project.idiota
81eb2a3… 34db496 master -> master

Agora tente deletar os branches novamente:

$ git branch
 
b1
b2
* mestre
 
$ git branch -d b1
 
Branch b1 excluído (era a2f488e).
 
$ git branch -d b2
 
Ramificação b2 excluída (era 2abb723).
 
$ git branch
 
* mestre

Você excluiu com sucesso os ramos b1 e b2 localmente.

6. Excluindo Ramificações Remotas

Quando você verifica os branches remotos, ainda vê b1 presente:

$ git branch -r
 
origem / b1
origem / mestre

Você pode usar o seguinte comando para excluir um branch remoto:

git push --excluir

Portanto, você pode excluir o branch b1 remoto com o seguinte:

$ git push origin --delete b1
 
Para / Users / zakh_eecs / _work / LearnGIT / git_delete_branch / project.idiota
- [excluído] b1

Agora, se você verificar seus branches remotos, não verá mais b1:

$ git branch -r
 
origem / mestre

Parabéns! Você excluiu com sucesso todos os ramos que você criou. Pratique fazer mais branches e excluí-los para dominar o processo de exclusão do branch Git.

Um estudo mais aprofundado:

  • https: // git-scm.com / book / en / v1 / Git-Branching-What-a-Branch-Is
  • https: // git-scm.com / book / en / v2 / Git-Branching-Branches-in-a-Nutshell
  • https: // git-scm.com / book / en / v2 / Git-Branching-Basic-Branching-and-Merging
Melhores distros Linux para jogos em 2021
O sistema operacional Linux percorreu um longo caminho desde sua aparência original, simples e baseada em servidor. Este sistema operacional melhorou ...
Como capturar e transmitir sua sessão de jogo no Linux
No passado, jogar era considerado apenas um hobby, mas com o tempo a indústria de jogos viu um grande crescimento em termos de tecnologia e número de ...
Melhores jogos para jogar com rastreamento manual
Oculus Quest introduziu recentemente a grande ideia de rastreamento manual sem controladores. Com um número cada vez maior de jogos e atividades que e...