Testar Branches Não Relacionados
Nesta etapa, criaremos um novo branch e faremos um commit nele que não é baseado no commit apontado pela nossa tag v1.0. Isso nos ajudará a entender como git branch --contains se comporta com branches que não contêm o commit especificado.
Primeiro, vamos criar um novo branch chamado feature-branch.
git branch feature-branch
Agora, vamos mudar para este novo branch.
git checkout feature-branch
Você deve ver uma saída indicando que você mudou de branch:
Switched to branch 'feature-branch'
Em seguida, vamos fazer um novo commit neste feature-branch. Criaremos um novo arquivo.
echo "This is a new feature" > feature.txt
git add feature.txt
git commit -m "Add new feature file"
Você deve ver uma saída semelhante a esta após o commit:
[feature-branch a1b2c3d] Add new feature file
1 file changed, 1 insertion(+)
create mode 100644 feature.txt
Agora, vamos usar git branch --contains v1.0 novamente. Lembre-se, v1.0 aponta para um commit no branch master, e nosso novo commit no feature-branch é diferente.
git branch --contains v1.0
Desta vez, a saída deve mostrar apenas o branch master:
master
O feature-branch não está listado porque não contém o commit específico ao qual a tag v1.0 aponta. Isso demonstra como git branch --contains identifica com precisão quais branches têm um commit específico em seu histórico.
Isso é útil quando você deseja saber se uma correção de bug (taggeada com uma versão) foi incluída em um branch de release, ou se uma funcionalidade específica (também potencialmente taggeada) foi mesclada em diferentes linhas de desenvolvimento.