Pular para o conteúdo principal

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

Engenharia de SoftwareGit
Código
qa541361
Banca
FUNDATEC
Órgão
IFC
Ano
2023
Cargo
PEBTT ( )
Em relação aos comandos da ferramenta de versionamento GIT, assinale a alternativa que apresenta quais fazem parte do sistema GIT:
  1. Acommit, status, diff, add, delete
  2. Bcommit, diff, delete, cd, status
  3. Cstatus, add, clone, push, rebase
  4. Drebase, cd, diff, clone, repository
  5. Erebase, push, add, diff, repository
Revelar gabarito e comentário

GabaritoC — status, add, clone, push, rebase

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”.

Comandos do Git: identificando os nativos do sistema

Gabarito: letra C. A alternativa C reúne exclusivamente comandos nativos do Git — status, add, clone, push e rebase — enquanto as demais misturam comandos de sistema operacional (cd, delete) ou termos que não são comandos (repository). A distinção central é que o Git possui seu próprio conjunto de comandos para versionamento, e comandos como cd (change directory) pertencem ao shell do sistema operacional, não ao Git.

O Git é um sistema de controle de versão distribuído, o que significa que cada desenvolvedor mantém uma cópia completa do repositório em sua máquina local. Isso permite que a maioria das operações seja realizada localmente, sem depender de conexão com um servidor central. Os comandos do Git são executados no terminal e interagem diretamente com o repositório, gerenciando o ciclo de vida dos arquivos: criação, modificação, preparação (staging), commit e sincronização com repositórios remotos.

Para entender quais comandos fazem parte do Git, é essencial conhecer as três áreas principais que ele gerencia: o diretório de trabalho (working directory), onde os arquivos são criados e editados; a área de preparo (staging area), que registra as alterações antes de serem consolidadas; e o repositório (repository), que armazena permanentemente o histórico do projeto. Cada comando atua em uma ou mais dessas áreas, e é essa estrutura que define a lógica por trás de comandos como add (move arquivos do diretório de trabalho para a staging area) e commit (consolida as alterações da staging area no repositório).

Na prática, um fluxo típico de trabalho com Git envolve: git clone para obter uma cópia de um repositório remoto, git status para verificar o estado dos arquivos, git add para preparar as alterações, git commit para salvá-las no histórico, git push para enviá-las ao repositório remoto e git rebase para reorganizar o histórico de commits. Esses comandos são nativos do Git e não existem fora do contexto de versionamento.

A pegadinha desta questão está em misturar comandos do sistema operacional com comandos do Git. O comando cd (change directory) é um comando do shell (como Bash ou PowerShell) usado para navegar entre diretórios, e delete não é um comando padrão do Git — para remover arquivos, o Git utiliza git rm. Além disso, termos como repository não são comandos, mas sim conceitos que descrevem a estrutura do Git. A banca explora exatamente essa confusão entre o ambiente do terminal e o ambiente do Git.

Guarde a fronteira entre comandos do Git e comandos do sistema operacional: é exatamente nela que as alternativas se dividem. Comandos como cd, ls, mkdir e delete pertencem ao shell; comandos como commit, status, diff, add, clone, push e rebase pertencem ao Git.

Comando

É nativo do Git?

Função principal

status

✅ Sim

Verifica o estado dos arquivos no diretório de trabalho e na staging area

add

✅ Sim

Move alterações do diretório de trabalho para a staging area

clone

✅ Sim

Copia um repositório remoto para a máquina local

push

✅ Sim

Envia commits locais para o repositório remoto

rebase

✅ Sim

Reorganiza o histórico de commits

cd

❌ Não (shell)

Navega entre diretórios no terminal

delete

❌ Não (SO)

Remove arquivos (no Git, usa-se git rm)

repository

❌ Não (conceito)

Estrutura que armazena o histórico do projeto

Comandos Git
  • 1Nativos
    • status
    • add
    • clone
    • push
    • rebase
    • commit
    • diff
  • 2Do sistema operacional
    • cd
    • delete
  • 3Conceitos (não comandos)
    • repository
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

A alternativa A inclui delete, que não é um comando nativo do Git. Para remover arquivos do repositório, o Git utiliza git rm, e delete é um comando genérico de sistemas operacionais (como no Windows) ou de linguagens de programação, não do Git. Os demais comandos (commit, status, diff, add) são nativos do Git, mas a presença de delete invalida a alternativa.

Alternativa B — ❌ Incorreta

A alternativa B inclui cd e delete, ambos comandos de sistema operacional, não do Git. cd (change directory) é um comando do shell para navegação entre diretórios, e delete não é um comando do Git. Embora commit, diff e status sejam comandos nativos do Git, a presença de cd e delete torna a alternativa incorreta.

Alternativa C — ✅ Correta ⟵ GABARITO

A alternativa C apresenta exclusivamente comandos nativos do Git: status (verifica o estado dos arquivos), add (prepara alterações para o commit), clone (copia um repositório remoto), push (envia commits para o repositório remoto) e rebase (reorganiza o histórico de commits). Todos esses comandos fazem parte do sistema Git e são utilizados no fluxo de versionamento.

Alternativa D — ❌ Incorreta

A alternativa D inclui cd, que é um comando do shell do sistema operacional, não do Git. Além disso, repository não é um comando, mas sim um conceito que descreve a estrutura onde o histórico do projeto é armazenado. Embora rebase, diff e clone sejam comandos nativos do Git, a presença de cd e repository torna a alternativa incorreta.

Alternativa E — ❌ Incorreta

A alternativa E inclui repository, que não é um comando do Git, mas sim um conceito estrutural. Os demais comandos (rebase, push, add, diff) são nativos do Git, mas a presença de repository invalida a alternativa, pois não é um comando executável no terminal.

NÃO CAIA NESSA!

A banca mistura comandos do sistema operacional (cd, delete) e termos conceituais (repository) com comandos nativos do Git para confundir o candidato. O erro clássico é aceitar cd como comando do Git, quando na verdade ele pertence ao shell. Lembre-se: comandos do Git operam sobre o repositório e o histórico de versões, enquanto comandos como cd e delete são do ambiente do sistema operacional. Com treino, você identifica essas intrusões de longe 💪

PEGA ESSA DICA!

Para questões de comandos do Git, foque nos comandos essenciais do fluxo de versionamento: clone, add, commit, push, pull, status, diff, rebase, merge, branch, checkout, log, reset, rm. Comandos como cd, ls, mkdir, delete são do sistema operacional e nunca devem ser confundidos com comandos do Git.

Gabarito: letra C

Link permanente: /questoes/qa541361