Flashcards de Git

Patrocinador de categoria

Git é um sistema de controle de versão distribuído criado por Linus Torvalds. É uma ferramenta projetada para velocidade, integridade de dados e suporte a fluxos de trabalho distribuídos e não lineares. Git é caracterizado por sua flexibilidade e eficiência, permitindo o gerenciamento eficaz de projetos de software pequenos e grandes. Este sistema oferece funções avançadas de ramificação e fusão, proporcionando aos desenvolvedores ferramentas para colaboração eficiente, rastreamento de alterações e gerenciamento de código-fonte. Git também suporta trabalho offline e troca rápida entre versões de projetos, mantendo a confiabilidade e permitindo a recuperação fácil do histórico de alterações.

Nossa aplicação de flashcards inclui perguntas de entrevista de Git cuidadosamente selecionadas com respostas abrangentes que o prepararão eficazmente para qualquer entrevista que requeira conhecimento em Git. IT Flashcards não é apenas uma ferramenta para quem busca emprego - é uma excelente maneira de reforçar e testar seu conhecimento, independentemente dos seus planos de carreira atuais. O uso regular do aplicativo ajudará você a manter-se atualizado com as últimas tendências de Git e manter suas habilidades em alto nível.

Amostras de flashcards de Git do nosso aplicativo

Baixe nosso aplicativo na App Store ou Google Play para obter mais flashcards gratuitos ou assine para ter acesso a todos os flashcards.

O que é um 'ramo' no Git e como pode ser usado no processo de desenvolvimento de software?

Um ramo, também referido como um ramo no Git, é uma linha independente de desenvolvimento de um projeto. Ele é criado quando queremos trabalhar em novos recursos ou correções de bugs, sem interferir com a linha principal de desenvolvimento (ramo mestre). A ramificação permite que várias versões de um projeto sejam executadas simultaneamente, o que é eficiente se vários desenvolvedores estiverem trabalhando em um único projeto.

O uso principal de ramos no processo de desenvolvimento de software é a sequência: criar um novo ramo, adicionar mudanças, confirmar mudanças e, em seguida, mesclar essas mudanças com o ramo principal.

O exemplo a seguir mostra as operações básicas que podem ser realizadas nos ramos.
# Criando um novo ramo
git branch new_feature

# Mudando entre ramos
git checkout new_feature

# Adicionando mudanças ao ramo
# (...) fazer algumas alterações nos arquivos
git add .
git commit -m "Nova funcionalidade adicionada"

# Volte para o mestre e mescla as mudanças do ramo new_feature
git checkout master
git merge new_feature

# Excluir ramo após terminar o trabalho
git branch -d new_feature

Graças aos ramos no Git, temos a capacidade de trabalhar independentemente em diferentes partes do projeto, que podemos então mesclar a qualquer momento.

Descreva a diferença entre os comandos git merge e git rebase.

O comando git merge é usado para combinar duas ou mais branches em um projeto. Quando você executa o git merge, o Git cria um novo commit que inclui alterações de ambas as branches. A vantagem do git merge é que o histórico do projeto é preservado em seu estado original. Ele cria um caminho cronológico de eventos, o que facilita entender o que aconteceu.

Por outro lado, o git rebase é usado para mover ou "aplicar" uma série de commits para uma nova base. Isso é usado quando você quer manter um gráfico histórico linear do projeto. Quando você executa o git rebase, o Git 'cola' suas alterações no topo da branch escolhida. Podemos dizer que o git rebase de certa forma 'limpa' o histórico de commits, o que pode levar à perda de contexto se uma fusão/conflito for mal compreendida e mal resolvida.

Basicamente, o git merge é usado para combinar branches e preservar o caminho histórico do projeto, enquanto o git rebase permite manter um gráfico de projeto limpo e linear, mas à custa de perder contexto. Ambos os métodos têm seus prós e contras, a escolha depende em grande parte da situação específica.

O que é uma 'cabeça destacada' e como se pode chegar a isso ao trabalhar com o Git?

"Detached HEAD" é um estado em que o HEAD no Git não está ligado a nenhum ramo específico. Isso pode ser comparado a uma situação em que as nossas alterações não estão a ser salvas em nenhum ramo específico.

Existem várias maneiras de obter um "Detached HEAD". Isto ocorre mais comumente durante uma mudança para outro commit, por exemplo:
git checkout <commit_id>

No entanto, também podemos alcançar este estado durante operações como rebase ou cherry-pick que não tiveram sucesso.

O Git se refere a este estado com a mensagem:
Note: checking out 'commit_id'.
You are in 'detached HEAD' state.

"Detached HEAD" não é um estado perigoso, é uma parte natural do trabalho com o Git. No entanto, é importante salvar as nossas alterações que fizemos enquanto no estado "detached HEAD" antes de mudar para outro commit ou ramo. Podemos fazer isso criando um novo ramo, a fonte do qual será nosso "detached HEAD". Faremos isso com o comando:
git branch new_branch_name

Como pode mover commits recentes de um ramo para outro?

Para transferir os últimos commits de um branch para outro, você pode usar o comando `git cherry-pick`. No contexto do GIT, cherry picking significa selecionar um commit arbitrário de um branch e aplicá-lo a outro.

O primeiro passo é mudar para o branch de onde queremos transferir os commits (vamos chamá-lo de branchA):
git checkout branchA

Depois, precisamos identificar o hash dos commits que queremos transferir. Podemos fazer isso usando o comando `git log`, que exibirá uma lista de commits para este branch. O hash do commit é uma longa sequência de caracteres no início de cada entrada de commit.

A seguir, mudamos para o branch para o qual queremos transferir os commits (vamos chamar de branchB):
git checkout branchB

Finalmente, usamos o comando `git cherry-pick` junto com o hash do commit que queremos transferir:
git cherry-pick hash-do-commit

Se quisermos transferir vários commits, podemos fornecer seus hashes um após o outro, separados por um espaço.

Baixar IT Flashcards Agora

Expanda seu conhecimento em Git com nossos flashcards.
Dos princípios básicos de programação ao domínio de tecnologias avançadas, o IT Flashcards é seu passaporte para a excelência em TI.
Baixe agora e desbloque seu potencial no mundo competitivo da tecnologia de hoje.