Pular para o conteúdo principal

Questão de Engenharia de Software — Git — FUNDATEC 2023

Engenharia de SoftwareGit
Código
qa541362
Banca
FUNDATEC
Órgão
IFC
Ano
2023
Cargo
PEBTT ( )

Em relação ao comando “cherry-pick” da ferramenta de versionamento GIT, analise as assertivas abaixo, assinalando V, se verdadeiras, ou F, se falsas:

 

( ) Realiza o clone de um repositório.

 

( ) Permite selecionar commits específicos para trazer a sua branch desejada.

 

( ) Pode causar commits duplicados.

 

( ) Libera a edição do hash de um commit.

 

A ordem correta de preenchimento dos parênteses, de cima para baixo, é:

  1. AV – V – F – V.
  2. BF – V – V – F.
  3. CF – V – F – F.
  4. DF – V – V – V.
  5. EV – F – V – F.
Revelar gabarito e comentário

GabaritoB — F – V – V – F.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Git: o comando cherry-pick

Gabarito: letra B — sequência F – V – V – F. O cherry-pick não clona repositórios (isso é função do clone), permite trazer commits específicos para a branch atual, pode gerar commits duplicados e não libera a edição do hash de um commit (o hash é calculado pelo Git e não pode ser alterado manualmente).

O cherry-pick é um comando do Git usado para aplicar um ou mais commits de uma branch em outra, sem precisar fazer um merge completo. Ele é útil quando você quer trazer apenas uma correção ou funcionalidade específica de uma branch para outra, sem trazer todo o histórico de commits da branch de origem. O comando funciona copiando as alterações do commit selecionado e criando um novo commit na branch atual, com um novo hash.

Uma característica importante do cherry-pick é que ele pode gerar commits duplicados. Isso acontece porque, ao aplicar um commit em outra branch, o Git cria um novo commit com um hash diferente do original, mesmo que as alterações sejam as mesmas. Se você fizer um merge posteriormente, o Git pode detectar que as alterações já foram aplicadas, mas em alguns cenários, como quando o commit original é modificado ou quando há conflitos, pode haver duplicação de commits no histórico.

O hash de um commit é um identificador único calculado pelo Git com base no conteúdo do commit, incluindo o autor, a data, a mensagem e o estado dos arquivos. Ele é usado para garantir a integridade do histórico e não pode ser editado manualmente. Qualquer alteração no conteúdo do commit resultaria em um hash diferente, o que quebraria a integridade do repositório.

cherry-pick
  • 1O que faz
    • Aplica commits específicos em outra branch
    • Cria novo commit com novo hash
  • 2O que NÃO faz
    • Não clona repositório (função do clone)
    • Não edita hash (calculado pelo Git)
  • 3Efeito colateral
    • Pode gerar commits duplicados
LEVEL · soulevel.com.br

Assertiva 1 — ❌ Falsa

A afirmativa diz que o cherry-pick realiza o clone de um repositório. Isso é incorreto: o comando clone é que copia um repositório remoto para o computador local, criando uma cópia completa do histórico. O cherry-pick opera dentro de um repositório já existente, aplicando commits específicos de uma branch em outra. A banca troca a função de dois comandos distintos: clone (copiar repositório) e cherry-pick (aplicar commits).

Assertiva 2 — ✅ Verdadeira

A afirmativa está correta: o cherry-pick permite selecionar commits específicos para trazer para a branch desejada. Esse é exatamente o propósito do comando: aplicar um ou mais commits de uma branch em outra, sem precisar fazer um merge completo. Por exemplo, se você tem uma branch feature com vários commits e quer trazer apenas um deles para a branch main, usa git cherry-pick <hash-do-commit>.

Assertiva 3 — ✅ Verdadeira

A afirmativa está correta: o cherry-pick pode causar commits duplicados. Isso ocorre porque, ao aplicar um commit em outra branch, o Git cria um novo commit com um hash diferente do original, mesmo que as alterações sejam as mesmas. Se você fizer um merge posteriormente, o Git pode detectar que as alterações já foram aplicadas, mas em alguns cenários, como quando o commit original é modificado ou quando há conflitos, pode haver duplicação de commits no histórico.

Assertiva 4 — ❌ Falsa

A afirmativa diz que o cherry-pick libera a edição do hash de um commit. Isso é incorreto: o hash de um commit é calculado pelo Git com base no conteúdo do commit (autor, data, mensagem, estado dos arquivos) e não pode ser editado manualmente. Qualquer alteração no conteúdo resultaria em um hash diferente, quebrando a integridade do repositório. O cherry-pick não oferece nenhuma funcionalidade para editar hashes.

Gabarito: letra B — sequência F – V – V – F.

Link permanente: /questoes/qa541362