Pular para o conteúdo principal

Questão de Engenharia de Software — Github e Gitlab — FCC 2025

Engenharia de SoftwareGithub e Gitlab
Código
fc150526
Banca
FCC
Órgão
TRT 1
Ano
2025
Cargo
TJ TRT1

Em um repositório remoto hospedado em plataformas como GitHub e GitLab, o comando que deve ser utilizado para excluir uma branch remota chamada app_v1 no servidor Git é o

  1. Agit pipeline remove app_v1
  2. Bgit flow delete app_v1
  3. Cgit branch -D app_v1
  4. Dgit push origin --delete app_v1
  5. Egit branch -d app_v1
Revelar gabarito e comentário

GabaritoD — git push origin --delete app_v1

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: Exclusão de Branch Remota

Gabarito: letra D. Para excluir uma branch remota em plataformas como GitHub e GitLab, o comando correto é git push origin --delete app_v1, que envia ao servidor remoto a instrução de remoção da branch. As alternativas A e B não são comandos Git válidos, e as opções C e E (git branch -D e git branch -d) excluem apenas a branch local, não a remota.

O Git é um sistema de controle de versão distribuído, o que significa que cada desenvolvedor possui uma cópia completa do repositório em sua máquina local. Essa arquitetura distribuída é a chave para entender a questão: existem dois níveis de branches — as locais (que existem apenas no seu computador) e as remotas (que ficam no servidor, como GitHub ou GitLab). Quando você cria uma branch com git branch app_v1, ela é criada apenas localmente. Para que ela exista no servidor, é necessário publicá-la com git push origin app_v1. Da mesma forma, a exclusão precisa ser feita nos dois níveis, e o comando para cada um é diferente.

A confusão mais comum é achar que git branch -d ou git branch -D exclui a branch remota. Esses comandos operam exclusivamente no repositório local. O -d (delete) exclui a branch local apenas se ela já foi mesclada (merged) com a branch atual, enquanto o -D (force delete) exclui a branch local mesmo que ela não tenha sido mesclada, descartando os commits não mesclados. Para excluir a branch no servidor, é preciso usar o comando git push com a opção --delete, que informa ao servidor remoto que a branch deve ser removida. Essa é a operação que a questão pede.

Na prática, o fluxo de trabalho com branches em um repositório Git envolve criar a branch local, fazer commits, publicá-la no remoto e, ao final, excluí-la nos dois ambientes. Por exemplo, após mesclar a branch app_v1 na branch principal (main), você pode excluí-la localmente com git branch -d app_v1 e, em seguida, excluí-la no servidor com git push origin --delete app_v1. Esse processo mantém o repositório remoto limpo e organizado, evitando o acúmulo de branches obsoletas.

A pegadinha desta questão está em distinguir o escopo de cada comando. As alternativas C e E são comandos Git válidos, mas atuam no repositório local, não no remoto. A banca explora exatamente essa confusão entre o ambiente local e o remoto. Guarde a regra: git branch gerencia branches locais; git push gerencia branches remotas.

Alternativa A — ❌ Incorreta

O comando git pipeline remove app_v1 não existe no Git. A palavra "pipeline" não faz parte do vocabulário de comandos do Git. Pipelines são um conceito de CI/CD (Integração Contínua/Entrega Contínua), associado a ferramentas como GitLab CI/CD ou GitHub Actions, mas não é um comando do Git para gerenciar branches.

Alternativa B — ❌ Incorreta

O comando git flow delete app_v1 também não é um comando nativo do Git. "Git Flow" é uma extensão (um conjunto de scripts) que define um modelo de ramificação para o Git, mas o comando para excluir uma branch nesse modelo seria git flow feature delete ou git flow release delete, não git flow delete. Além disso, mesmo que fosse um comando válido, ele atuaria na branch local, não na remota.

Alternativa C — ❌ Incorreta

O comando git branch -D app_v1 exclui a branch local app_v1 de forma forçada, mesmo que ela não tenha sido mesclada. A opção -D é uma abreviação de --delete --force. Este comando é válido, mas atua apenas no repositório local. A questão pede a exclusão da branch remota, no servidor Git. Portanto, este comando não atende ao requisito.

Alternativa D — ✅ Correta ⟵ GABARITO

O comando git push origin --delete app_v1 é a forma correta de excluir uma branch remota. A sintaxe git push <remote> --delete <branch> envia ao servidor remoto (origin) a instrução para remover a branch app_v1. Essa é a operação padrão para exclusão de branches remotas em plataformas como GitHub e GitLab. Uma forma alternativa e equivalente é git push origin :app_v1, que usa a sintaxe de "refspec vazio" para deletar a branch remota.

Alternativa E — ❌ Incorreta

O comando git branch -d app_v1 exclui a branch local app_v1, mas apenas se ela já tiver sido mesclada com a branch atual. A opção -d (delete) é segura, pois impede a exclusão de commits que não foram mesclados. Assim como a alternativa C, este comando atua apenas no repositório local, não no remoto. Portanto, não é o comando correto para excluir a branch remota.

Gabarito: letra D

Link permanente: /questoes/fc150526