Testar com Outras Branches
Nesta etapa, criaremos um novo branch e faremos um commit nele para ver como git branch --contains se comporta quando um commit está apenas em um branch. Isso ajudará a solidificar sua compreensão de como o Git rastreia commits em diferentes linhas de desenvolvimento.
Primeiro, vamos criar um novo branch chamado feature-branch. Certifique-se de estar no diretório ~/project/my-time-machine.
cd ~/project/my-time-machine
git branch feature-branch
Agora, vamos mudar para nosso novo branch:
git checkout feature-branch
Você deve ver uma saída indicando que você mudou para o novo branch:
Switched to branch 'feature-branch'
Vamos fazer um novo commit neste feature-branch.
echo "Adding a feature" >> feature.txt
git add feature.txt
git commit -m "Add a new feature file"
Agora, vamos obter o hash do commit deste novo commit usando git log --oneline:
git log --oneline
A saída mostrará seu novo commit no topo, seguido pelos commits anteriores. Copie o hash do commit "Add a new feature file".
Agora, vamos usar git branch --contains com o hash do commit "Add a new feature file". Substitua [feature_commit_hash] pelo hash real que você copiou:
git branch --contains [feature_commit_hash]
A saída deve mostrar apenas * feature-branch. Isso ocorre porque este commit específico foi feito depois que criamos e mudamos para feature-branch, então ele só existe no histórico deste branch.
Agora, vamos tentar git branch --contains com o hash do primeiro commit ("Send a message to the future") novamente. Substitua [first_commit_hash] pelo hash que você usou na etapa anterior:
git branch --contains [first_commit_hash]
Desta vez, a saída deve mostrar tanto feature-branch quanto * master. Isso ocorre porque o feature-branch foi criado a partir do branch master, então ele contém todos os commits que estavam no master naquele momento, incluindo o primeiro commit.
Isso demonstra como git branch --contains pode ajudá-lo a entender a relação entre branches e os commits que eles incluem.