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?
git
git-branch
git-checkout
Adrien Joly
fonte
fonte
Respostas:
git checkout -b BRANCH_NAME
cria uma nova ramificação e faz check-out da nova ramificação enquantogit 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ê.fonte
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:
fonte
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 quegit branch newbranch
seguido porgit checkout newbranch
.fonte
Sintaxe completa:
O [FROM_BRANCH] é opcional. Se não houver FROM_BRANCH, o git usará a ramificação atual.
fonte
Há também outro sinalizador a ser mencionado, que é relativo a estes.
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.
fonte
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 substituirExistem formas de ambos os comandos que são semelhantes (observando a versão 2.11.1 do git-scm docs):
e
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:
fonte
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 :)
fonte