Confirmar arquivos e exibir histórico

Concluído

Agora que você inicializou o repositório Git, você está pronto para começar a adicionar arquivos. Nesta lição, você aprenderá a informar ao Git para acompanhar as alterações nos arquivos em seu repositório.

Observação

Os comandos nesta unidade são mostrados para ilustrar conceitos. Não execute os comandos ainda. Você praticará o que aprendeu aqui em breve.

Estrutura de pastas para seu repositório

Quando você trabalha com um sistema de controle de versão como o Git, é importante planejar como seus arquivos serão armazenados. É uma boa ideia ter uma estrutura de pastas clara.

Se você estiver criando um código Bicep para implantar um aplicativo ou outra solução, também é uma boa ideia armazenar seus arquivos Bicep no mesmo repositório que o código do aplicativo e outros arquivos. Dessa forma, sempre que alguém precisar adicionar um novo recurso que altere o código Bicep e do aplicativo, eles serão controlados juntos.

Planejar a estrutura de pastas também facilita a implantação da solução de um pipeline. Você aprenderá sobre pipelines em um módulo futuro.

Equipes diferentes têm diferentes convenções de como eles configuram suas pastas e arquivos de repositório. Mesmo que você não esteja trabalhando com uma equipe, ainda é uma boa ideia decidir uma convenção a ser seguida. Uma boa estrutura de arquivos e pastas ajudará qualquer pessoa que precise trabalhar com seu código no futuro.

Se sua equipe ainda não tiver uma preferência, veja uma sugestão de como você pode fazer isso:

  • Na raiz do seu repositório, crie um arquivo README.md. Esse arquivo de texto, escrito em Markdown, descreve o conteúdo do repositório e fornece instruções para ajudar os membros da equipe a trabalhar no repositório.
  • Na raiz do seu repositório, crie uma pasta implantar. Dentro da pasta:
    • Armazene seu modelo Bicep principal, chamado main.bicep.
    • Crie uma subpasta módulos para armazenar os módulos Bicep.
    • Se você tiver outros scripts ou arquivos que são usados durante as implantações, armazene-os na pasta implantar.
  • Na raiz do repositório, crie uma pasta src para o código-fonte. Use-a para armazenar o código do aplicativo.
  • Na raiz do seu repositório, crie uma pasta docs. Use-a para armazenar a documentação sobre sua solução.

Veja uma ilustração de como essa estrutura pode ficar para o site da sua empresa de brinquedos:

Diagrama que ilustra uma hierarquia de pastas.

Preparar as alterações

Depois de fazer alterações em um ou mais arquivos, você precisará prepará-los. O processo de preparo informa ao Git que você considera as alterações importantes o suficiente para mantê-las. Pode parecer uma etapa desnecessária, mas o processo de preparo oferece flexibilidade à medida que você trabalha. Por exemplo, você pode fazer alterações em vários arquivos, mas deseja manter apenas uma delas. Ou talvez você queira manter apenas algumas das alterações feitas em um arquivo.

Para preparar um arquivo, use o comando git add e especifique o nome do arquivo ou o nome da pasta que deseja preparar. Após preparar um arquivo, o Git sabe que você provavelmente deseja confirmar as alterações. Ao consultar o status do repositório usando git status, você verá as alterações preparadas.

Importante

Depois de preparar um arquivo, se você fizer outras alterações nele antes de fazer commit, o Git não registrará essas alterações. Você precisa preparar o arquivo novamente para que o Git inclua as alterações mais recentes.

Por exemplo, imagine que você tenha criado um módulo do Bicep para definir uma conta do Azure Cosmos DB. Ele se chama cosmos-db.bicep e você o salvou na pasta implantar/módulos. Veja como você pode preparar o arquivo:

git add deploy/modules/cosmos-db.bicep

Você também pode preparar todas as alterações em seu repositório executando este comando na pasta raiz do repositório:

git add .

Fazer commit das alterações preparadas

Um commit representa um conjunto de alterações feitas em um ou mais arquivos no repositório. Quando estiver pronto para fazer commit das alterações preparadas, use o comando git commit. O commit inclui uma mensagem de confirmação, que é uma descrição legível das alterações.

Este é um exemplo que mostra como você faz commit das alterações preparadas mostradas anteriormente:

git commit --message "Add Cosmos DB account definition"

Observação

O Visual Studio Code também pode fazer commit em seu repositório Git. Quando você usa a integração do Git no Visual Studio Code, se ainda não tiver feito a preparação dos arquivos, o Visual Studio Code perguntará se deseja que ele prepare todos os arquivos alterados para você. Você pode até mesmo definir isso como o comportamento padrão. Ou, se preferir, poderá fazer a preparação e remover a preparação manualmente dos arquivos usando o Controle do Código-Fonte no Visual Studio Code.

Deixe suas mensagens de commit curtas, mas descritivas. Quando você ou um membro da equipe revisa o histórico de commit no futuro, cada mensagem deverá explicar qual foi a alteração e por que você a fez.

Não há uma regra sobre o que as mensagens de commit precisam conter ou como elas devem ser formatadas. Mas, convencionalmente, elas são escritas no presente e em uma frase completa, como se você estivesse dando ordens à sua base de código.

Dica

É uma boa prática escrever mensagens de commit descritivas mesmo quando você estiver trabalhando por conta própria. Talvez outra pessoa precise ver seu código futuramente. Mesmo que ninguém mais veja, pode precisar revisar seu próprio histórico – e você não quer dificultar sua vida!

Estes são alguns exemplos de boas mensagens de commit:

  • Atualize a configuração do Serviço de Aplicativo para adicionar a configuração de rede.
  • Remova a conta de armazenamento já que ela foi substituída por um banco de dados do Cosmos DB.
  • Adicione a definição de recursos do Application Insights e integre ao aplicativo de funções.

Exibir o histórico de um arquivo

Depois de fazer commit de arquivos em seu repositório Git, você pode usar o comando da CLI git log para exibir o histórico de um arquivo ou até mesmo todos os commits no repositório.

Para exibir uma lista de commits, execute o seguinte comando:

git log --pretty=oneline

A saída desse comando mostra uma lista de commits, com os commits mais recentes primeiro. Cada linha inclui o hash de confirmação, que é um identificador que o Git usa internamente para acompanhar cada commit. Ele também inclui a mensagem de commit, que é um dos motivos pelos quais é tão importante escrever boas mensagens.

Também é comum exibir os commits em um arquivo específico. Você pode especificar o nome do arquivo ao executar o comando git log da seguinte maneira:

git log deploy/main.bicep

A CLI do Git e o comando git log fornecem muitos argumentos que você pode usar para exibir informações sobre commits e arquivos. No entanto, costuma ser mais fácil usar o Visual Studio Code para exibir o histórico de commit de um arquivo.

No painel Explorer do Visual Studio Code, você pode selecionar e segurar (ou clicar com o botão direito do mouse) um arquivo em seu repositório e, em seguida, selecionar Exibir Linha do Tempo. O painel Linha do Tempo é aberto e mostra uma lista de cada commit que afetou esse arquivo. Ao selecionar um commit, você verá as alterações exatas no arquivo. Você verá como usar essas informações no próximo exercício.