O Gerenciador de Versão
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: D
A questão aborda os conceitos de sistemas de controle de versão, mais especificamente o funcionamento do Git, que é um Distributed Version Control System (DVCS). Para resolver esta questão, é necessário ter conhecimento sobre as características e funcionalidades dos diferentes sistemas de controle de versão, bem como compreender como o Git opera e gerencia as mudanças nos arquivos e diretórios.
A alternativa D está correta porque descreve uma das funcionalidades fundamentais do Git. O Git de fato utiliza o checksum para garantir a integridade do conteúdo armazenado. Cada vez que um arquivo é adicionado ao Git, o sistema calcula um valor de checksum SHA-1, que é um resumo hash de 40 caracteres hexadecimais. Este resumo é único para o conteúdo do arquivo; quaisquer alterações no conteúdo resultarão em um novo valor de checksum. Isso garante que a integridade do conteúdo possa ser verificada a qualquer momento, protegendo-o contra corrupção ou alterações não detectadas.
O uso de hashes SHA-1 serve como base para a construção da estrutura de dados do Git, conhecida como um gráfico acíclico direcionado, onde cada objeto (seja ele um arquivo, diretório, commit ou tag) é identificado pelo seu checksum.
Essa funcionalidade é uma peça central do design do Git e uma das razões para sua robustez e eficiência em gerenciar versões de código de forma distribuída, permitindo detecção rápida de corrupção e a capacidade de identificar exatamente em qual estado um arquivo ou diretório estava em qualquer commit anterior.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Alguém sabe explicar o erro das demais assertivas?
O erro da letra
A é : o nome do controle de versão é VCS (Version Control System) Sistema de Controle de Versão e não Centralized Version Control System (CVCS).
https://git-scm.com/book/pt-br/v1/Primeiros-passos-Sobre-Controle-de-Vers%C3%A3o
B é : todo SCV pode ser feito o checkout do projeto não só da última versão.
D é : o commit grava alterações no repositório local , ou seja, no computador, portanto, o commit funciona sem acesso a VPN e quando o usuário esta offline. Para enviar ao servidor utiliza-se o comando push.
E é: o nome do repositório local é .hgrc e não hgvc.
https://www.mercurial-scm.org/doc/hgrc.5.html
d-
github é descentralizado (distribuido)
The main purpose of GitHub.com is to facilitate the version control and issue tracking aspects of software development. Labels, milestones, responsibility assignment, and a search engine are available for issue tracking. For version control, Git (and by extension GitHub.com) allows pull requests to propose changes to the source code. Users with the ability to review the proposed changes can see a diff of the requested changes and approve them. In Git terminology, this action is called "committing" and one instance of it is a "commit." A history of all commits is kept and can be viewed at a later time.
https://en.wikipedia.org/wiki/GitHub
TEC:
O Gerenciador de Versão
a) Git oferece um controle de versão denominado Centralized Version Control System, que é baseado em um servidor central, o Github.
ERRADO
Um Sistema de Controle de Versão Centralizado (CVCS) é denominado assim, pois o controle de software se dá em um servidor central. Exemplos de controladores que utilizam esse tipo de sistema são CVS e SVN, por exemplo.
O Git é considerado um Sistemas de Controle de Versão Distribuído.
b) Mercurial permite que os clientes façam cópias apenas das últimas versões dos arquivos. Assim, se um servidor falha, o último repositório pode ser copiado de volta para o servidor para restaurá-lo. Trabalha com funções, dentre as quais o checkin (resgate), que na prática é um backup diferencial de todos os dados.
ERRADO
O mercurial é um Sistema de Controle de Versão Distribuído e como tal é possível fazer cópias de todo o projeto, não só da última versão produzida. Além disso, é possível fazer check-in que não é um backup de todos os dados, mas sim um envio de alerta para o servidor.
c) Git e o Mercurial não permitem que operações do tipo commit sejam realizadas caso o usuário esteja offline ou sem acesso a uma VPN.
ERRADO
Como estamos diante de um SVC distribuído, em algum momento haverá necessidade de enviar o que foi feito ao servidor, isso é feito por meio do commit, que é utilizado em ambos os Sistemas.
d) Git utiliza o checksum (valor para verificação de integridade) que é calculado antes que algo seja armazenado. O checksum utiliza o hash SHA-1, uma string de 40 caracteres composta de caracteres hexadecimais que é calculado a partir do conteúdo de um arquivo ou estrutura de um diretório no Git.
CORRETO
Com bastante frequência mudanças são feitas no repositório e em todas elas o Git precisa tomar conhecimento. Para evitar que os "espertinhos" tentem, de alguma forma burlar o sistema, é utilizado um valor para verificação de integridade, conhecido como checksum, o qual é calculado antes que o armazenando seja feito.
O checksum utiliza o sistema de hash SHA-1 que corresponde a caracteres hexadecimais e que é composto por uma string de 40 caracteres. Esta string é calculada com base no conteúdo do arquivo ou na estrutura do diretório no Git.
e) Mercurial sempre armazena as configurações do ambiente em um arquivo .hgvc na raiz da pasta de usuário, que é denominada Mercurial.ini em ambientes Linux e MacOS. No ambiente Windows este arquivo tem seu nome iniciando com um sinal de menos (−) e é oculto por padrão.
ERRADO
A configuração do mercurial é colocado em um arquivo chamado <repo>/.hg/hgrc em cada repositório e não no .hgvc.
Gabarito: Letra D
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo