Eu costumava git checkout -b
criar um novo ramo. Eu acho que git branch
faz a mesma coisa. Como esses dois comandos diferem, se são diferentes?
Eu costumava git checkout -b
criar um novo ramo. Eu acho que git branch
faz a mesma coisa. Como esses dois comandos diferem, se são diferentes?
Respostas:
git checkout -b BRANCH_NAME
cria uma nova ramificação e faz check-out da nova ramificação enquanto git branch BRANCH_NAME
cria uma nova ramificação, mas deixa você na mesma ramificação.
Em outras palavras, git checkout -b BRANCH_NAME
faz o seguinte para você.
git branch BRANCH_NAME # create a new branch
git checkout BRANCH_NAME # then switch to the new branch
git branch
cria a ramificação, mas você permanece na ramificação atual que efetuou o check-out.
git checkout -b
cria uma ramificação e faz check-out.
Pode ser considerado uma forma curta de:
git branch name
git checkout name
git branch
: Mostra todos os seus ramosgit branch newbranch
: Cria uma nova ramificaçãogit checkout -b newbranch
: Cria uma nova ramificação e alterna para essa ramificação imediatamente. É o mesmo que git branch newbranch
seguido por git checkout newbranch
.Há também outro sinalizador a ser mencionado, que é relativo a estes.
git checkout -B BRANCH_NAME
Este é um comando muito útil que venho usando recentemente. Este comando faz check-out da ramificação especificada e redefine a ramificação com base na ramificação de origem.
If -B is given, <new_branch> is created if it doesn't exist; otherwise, it is reset. This is the transactional equivalent of $ git branch -f <branch> [<start point>] $ git checkout <branch>
checkout -B
perigoso se o ramo para o qual você está mudando for compartilhado por outras pessoas? Eu usei isso recentemente e parecia mesclar automaticamente as alterações em meu outro ramo no ramo para o qual mudei.
git checkout -B
, então sim, seria fundir, ou possivelmente até mesmo substituir
Existem formas de ambos os comandos que são semelhantes (observando a versão 2.11.1 do git-scm docs):
git branch <branchname> <start-point>
e
git checkout -b <new_branch> <start_point>
O último executando primeiro o comando branch e depois adicionando o checkout. Nesse formulário, faz referência explícita ao documento do git-branch:
Especificar -b faz com que um novo ramo seja criado como se git-branch [2] fosse chamado e depois retirado
Essencialmente:
A ramificação A-git permite criar uma ramificação pura e simples.
B -git checkout -b permite criar uma ramificação e alternar para ela ao mesmo tempo.
Quando você vai usar qual? Ramificação 1- git quando você deseja criar uma ramificação, mas permanece na ramificação atual. 2- git check--b quando você deseja criar e alternar. Se você observar, é intuitivo criar uma ramificação e mudar para ela. Então a escolha é sua :)