

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
Um desenvolvedor executa acidentalmente git reset --hard HEAD-3, removendo três commits da branch atual. O detalhe importante é que o desenvolvedor ainda não fez push para o repositório remoto. O(s) comando(s) a ser(em) utilizado(s) para recuperar esses commits são
git revert HEAD@{1}
git reflog para encontrar o SHA dos commits perdidos e depois git reset --hard
git checkout HEAD@{1}
git fetch origin para trazer os commits do repositório remoto
git merge --abort para reverter a operação
O Git é um sistema de controle de versão amplamente utilizado no desenvolvimento de software, permitindo gerenciar alterações no código-fonte e colaborar em projetos de forma eficiente. Ele oferece diversos comandos para manipular o repositório local e remoto, um deles permite baixar as atualizações do repositório remoto sem realizar a mesclagem automática com o repositório local. Qual é esse comando?
git reset
git rebase
git diff
git log
git fetch
O comando git checkout do sistema de controle de versão Git é utilizado para
atualizar o repositório local com as últimas alterações de um repositório remoto.
copiar um repositório Git.
consultar quais arquivos foram modificados em um determinado período, quais estão pendentes de adição e se há alterações prontas para serem confirmadas.
alternar entre diferentes branches.
consultar os usuários que fizeram alterações em um determinado período, quando e com qual mensagem.
Considere o seguinte cenário e sequência de comandos executados no Git:
# Repositório local já existe e está configurado com um repositório remoto
git checkout -b feature/novarecurso
echo "Nova funcionalidade" > funcionalidade.txt
git add funcionalidade.txt
git commit -m "Adiciona nova funcionalidade"
git push origin feature/novarecurso
# Mais tarde, no repositório remoto, a branch main recebeu novos commits
git checkout main
git pull origin main
git checkout feature/novarecurso
git merge main
Após executar esses comandos, surgiram conflitos de merge no arquivo funcionalidade.txt. O desenvolvedor resolve manualmente os conflitos, salva as alterações e executa:
git add funcionalidade.txt
git commit -m "Resolve conflitos no merge da branch main"
git push origin feature/novarecurso
Com base no fluxo apresentado, qual foi o objetivo principal do comando git merge main no contexto do fluxo de trabalho do Git?
Sincronizar a branch feature/novarecurso com as atualizações mais recentes da branch main.
Substituir completamente o conteúdo da branch feature/novarecurso pelo conteúdo da branch main.
Copiar as alterações da branch feature/novarecurso para a branch main.
Descartar todas as alterações não commitadas na branch feature/novarecurso.
Remover o histórico da branch feature/novarecurso.
No sistema de controle de versão distribuído Git, qual dos comandos abaixo pode ser utilizado para listar possíveis conflitos de mesclagem?
git init
git branch
git commit
git status
git log
O comando git append --files permite adicionar todos os arquivos e alterações da pasta atual ao ambiente de preparação do repositório Git.
Certo
Errado
Sobre o sistema de controle de versionamento Git, é correto afirmar:
O Git possibilita que o usuário refaça um commit executando o comando git restore <arquivo_a_ser_adicionado_no_commit>.
O Git é um sistema de controle de versão distribuído, onde os repositórios clonados possuem o espelho completo do repositório, incluindo seu histórico.
Quando um servidor Git para de funcionar, as informações armazenadas somente podem ser recuperadas a partir de backups periódicos realizados nesse servidor.
Os arquivos identificados com o status staged em um repositório Git são aqueles que foram modificados, mas ainda não foram adicionados para serem enviados no próximo commit.
No Git, o cherry-picking permite que se adicione um commit de certa branch ao último commit de outra branch, sem que se inclua o restante dos commits da branch de origem.
Certo
Errado
O Git é um sistema de controle de versão essencial para o desenvolvimento colaborativo de software. Certos comandos permitem que seja verificado se há commits no repositório remoto que precisam ser incorporados ao seu repositório local, sem integrar imediatamente essas alterações ao seu código atual. Qual comando do Git realiza essa função?
git fetch
git branch
git stash
git diff
git log
No Git, uma branch é uma cópia local de um repositório remoto, com todos os arquivos e as configurações iguais aos originais.
Certo
Errado
Git-flow é um modelo de gerenciamento de branches muito comum em times que usam Git, que utiliza
dois branches permanentes (main e develop) e três branches temporários (feature, release e hotfix).
um branch permanente (main) e dois branches temporários (develop e release).
dois branches permanentes (main e release) e três branches temporários (feature, testing e hotfix).
um branch permanente (release) e dois branches temporários (develop e hotfix).
três branches permanentes (main, develop e release) e dois branches temporários (testing e hotfix).
Um desenvolvedor tentou realizar um merge, porém o Git acusou conflitos em um dos arquivos. Após resolver manualmente os conflitos neste arquivo, quais comandos ele deve executar para prosseguir e finalizar o processo de merge?
Executar git reset –hard e depois git push origin
Executar git merge –abort e depois git commit
Executar git stash apply e depois git checkout master
Executar git add no arquivo modificado e depois git commit
Considere o seguinte histórico de commits na branch feature:
A — B — C — D (feature)
O desenvolvedor deseja consolidar os commits B, C e D em um único commit descritivo, mantendo o commit A intacto. Para isso, ele executa:

E no editor interativo, altera as linhas para:

Após salvar e editar a mensagem final, ele conclui o rebase. Diante do exposto, assinale a alternativa CORRETA.
O rebase interativo cria um novo commit contendo as alterações combinadas de B, C e D, com um novo hash, enquanto o commit A permanece inalterado e os commits originais B, C e D deixam de existir no histórico da branch.
O rebase interativo cria um novo commit contendo as alterações combinadas de B, C e D, com um novo hash para o commit A e os commits originais B, C e D deixam de existir no histórico da branch.
O rebase interativo aplica os commits B, C e D sobre A sem alterar seus hashes, apenas reordenando-os, uma vez que o uso de squash afeta apenas a mensagem de commit, não o conteúdo.
O rebase interativo substitui o commit A por um novo commit contendo as alterações de B, C e D, mantendo os hashes originais e criando um histórico linear com quatro commits.
O comando git-cherry-pick aplica as alterações introduzidas por alguns commits existentes, sendo necessário, nesse caso, que a árvore de trabalho esteja limpa.
Certo
Errado
Um desenvolvedor trabalhou em um branch de funcionalidade e desejou trazer as atualizações mais recentes do branch main para o seu branch. Ele queria que o histórico do seu branch fosse reescrito como se tivesse começado a partir do ponto mais atual do main, mantendo um histórico linear e limpo, sem merge commits.
Com base nessa situação hipotética, assinale a opção que apresenta o comando Git adequado para essa estratégia.
git merge
git rebase
git cherry‑pick
git clone
git fetch
No contexto dos sistemas de controle de versão GIT,
vários commits podem ser feitos, antes de realizar um push, para atualizar as mudanças no servidor remoto.
um commit é um envio remoto que pode ser utilizado quando precisamos atualizar uma mudança no servidor.
um pull é necessário sempre que os dados do servidor remoto estão desatualizados e precisam da nova versão local.
um push atualiza o servidor local sempre que algo estiver desatualizado.
um commit e um push devem ser realizados sempre para atualizar a versão local dos dados do repositório.
Uma equipe de Técnicos Judiciários utiliza o Git com repositórios hospedados no Github para implementar boas práticas de versionamento de código nos sistemas internos. Uma abordagem recomendada para o desenvolvimento colaborativo é:
Usar o comando git commit - m "Alteração rápida" visando detalhar as alterações realizadas de forma objetiva, para evitar longas descrições no histórico.
Criar uma nova branch para cada funcionalidade ou correção com git checkout - b nova- feature, realizar os commlts necessários e integrar à branch principal com git merge após uma revisão de código.
Incentivar que todos trabalhem em uma única branch, especialmente a master ou a develop. Caso uma nova branch deva ser criada, seu nome deve conter o nome do desenvolvedor responsável por ela.
Iniciar o Git Flow (git flow init) apenas uma única vez para todos os membros da equipe. Após isso, pode-se obter uma funcionalidade publicada por outro membro da equipe e acompanhar as alterações remotas usando o comando git flow feature publ ish MYFEATURE.
Conceder permissões administrativas a todos os colaboradores no GitHub, usando a opção "Admin" nas configurações de membros do repositório, para evitar atrasos no ftuxo de trabalho.
Qual comando do Git é utilizado para enviar os commits locais para um repositório remoto?
git pull
git fetch
git commit
git push
git clone
Analise as sentenças sobre o Git.
I. O Git é um sistema de controle de versão centralizado, semelhante ao SVN, em que todas as alterações são registradas em um servidor único.
II. O Git permite rastrear mudanças em arquivos de texto, como códigos-fonte.
III. O comando git commit é utilizado para criar um novo repositório vazio.
IV. O comando git clone é usado para copiar um repositório existente.
É correto o que se afirma apenas em:
I e II.
II e IV.
II e III.
III e IV.
I e IV.
O gerenciamento de configuração é um processo de engenharia de sistemas para estabelecer a consistência dos atributos de um produto ao longo da vida, sendo que no mundo da tecnologia, constitui um processo de gerenciamento de TI que monitora itens de configuração individuais de um sistema de TI. Entre as ferramentas utilizadas nesse tipo de gerenciamento, uma constitui o sistema de controle de versão líder do setor para rastrear alterações de código. Nesse sentido, adicionar dados de gerenciamento de configuração ao lado de código em um repositório dessa ferramenta, possibilita uma visualização holística de controle de versão de um projeto inteiro.
Essa ferramenta de configuração é conhecida como:
Terraform.
Git.
SaltStack.
Puppet.