Entenda o Git: O que é, como funciona e como começar a usar

Entenda o Git: O que é, como funciona e como começar a usar

GIT? O que é?

Git é um sistema de controle de versões distribuído, ou seja, ele não precisa de um servidor central para funcionar. É uma ferramenta open source, criada por Linus Torvalds, o mesmo desenvolvedor do kernel Linux, em 2005.

É um sistema que permite aos desenvolvedores registrar o histórico de alterações de um arquivo ou conjunto de arquivos ao longo do tempo, pode ser usada para gerenciar arquivos em um repositório local ou em um repositório remoto.

Como funciona?

Cada usuário pode ter uma cópia local do repositório, contendo todo o histórico de alterações, e pode fazer alterações offline. Se você estiver trabalhando em um projeto com outras pessoas, poderá usar o Git para gerenciar seus arquivos em um repositório remoto. Quando um usuário deseja compartilhar suas alterações, ele envia um pedido para outro usuário, que pode aceitar ou recusar as alterações.

O git possui 3 estágios de trabalho:

Modified: Neste estágio o git fica verificando se houve mudanças dentro do diretório, pode ser um novo arquivo adicionado ou removido, ou uma alteração em arquivos já existentes, caso o git indentifique algo modificado irá te sugerir para enviar esta mudança ao próximo estágio.

Staged: Neste estágio contém arquivos que você elegeu de uma versão modificada para serem preparados para o versionamento, todos os arquivos e diretório neste estágio estão prontos para serem versionado e passar para o próximo estágio.

Commited: Neste estágio é onde os arquivos foram versionados e estão salvos localmente na base local do git. Significa que os dados estão guardados na sua base local.

O Working Directory é o diretório de trabalho atual de um usuário, é onde teremos o código de fato para realizar a criação ou edição. Ele contém todos os arquivos e pastas que o usuário está trabalhando no momento.

Como obter o Git?

Para realizar o download do Git pode acessar o seguinte link: https://git-scm.com/downloads e escolher qual a opção desejada de acordo com o seu sistema operacional.

Como iniciar?

Para começar a trabalhar com o Git localmente deverá criar um diretório onde irá conter os arquivos de seu projeto. Caso já tenha o diretório com alguns arquivos já existentes basta executar:

 git init 

E terá uma saída semelhante a está: “Repositório vazio Git inicializado em /home/user/Projeto/.git/“. A partir desta execução o seu repositório git estará presente localmente para os seus versionamentos.

Este repositório do Git pode ter algumas configurações personalizadas para facilitar os gerenciamentos e verificações.

Se quiser definir qual o usuário e e-mail padrão deste repositório para que fique registrado nos commits e logs do versionamento execute o seguinte:

git config user.name " Nome do Usuario"
git config user.email "nome.usuario@example.com.br"

Posteriormente se desejar verificar estas configurações, acesse o seu diretório de projeto, e haverá uma pasta oculta chamada .git, dentro desta pasta contém um arquivo chamado config, que possui as configurações atuais listadas.

Termos principais:

  • git add – é um comando que adiciona um arquivo para seguir o fluxo de trabalho do Git. Ele prepara o arquivo para o próximo commit.
  • git commit – é um comando usado para confirmar as alterações em um repositório git. Ele adiciona um ponto na história do projeto, permitindo que você volte para um estado anterior se necessário. Além disso, o git commit permite que você crie mensagens descrevendo o que foi alterado, o que pode ser útil para outras pessoas que estão trabalhando no projeto.
  • git config – é um comando do Git que permite que você configure vários parâmetros do Git, incluindo o nome do usuário, o endereço de e-mail, as cores do Git e muito mais.
  • git init – é um comando que inicializa um repositório de código-fonte do Git. Ele cria um novo diretório que contém todos os arquivos e diretórios necessários para que o repositório funcione. Além disso, o git init cria um arquivo chamado .git que contém todas as informações do repositório.
  • git log – é um comando que mostra o histórico de commits de um determinado repositório. Ele pode ser usado para ver quais foram os últimos commits, quem os fez, quando foram feitos, e assim por diante.
  • git push – é um comando que envia as alterações locais para um repositório remoto.
  • git status – é um comando que mostra o status do repositório atual. Ele mostra quais arquivos foram modificados e quais estão prontos para serem comitados.

Levando em consideração o exemplo de conteúdo abaixo:

Projeto/
├── codigo.yaml
└── README.md

Ao executar o comando git status dentro deste diretório Projetos teremos o seguinte resultado:

git status

 

No ramo main

No commits yet

Arquivos não monitorados:
  (utilize "git add <arquivo>..." para incluir o que será submetido)
	README.md
	codigo.yaml

nada adicionado ao envio mas arquivos não registrados estão presentes (use "git add" to registrar)

Ou seja os arquivos estão neste momento no estágio Modified, podemos seguir a sugestão da saída do comando e executar git add, para enviar estes arquivos para o próximo estágio, para que eles sejam monitorados pelo git.

git add README.md codigo.yaml

git status

Após executar o git add para adicionar os arquivo e depois novamente o git status este é o resultado esperado:

No ramo main

No commits yet

Mudanças a serem submetidas:
  (utilize "git rm --cached <arquivo>..." para não apresentar)
	new file:   README.md
	new file:   codigo.yaml

Foram reconhecidos pelo git, os dois novos arquivos adicionados, que agora estão no estágio de preparação aguardando o envio para o próximo estágio de versionamento.
Agora podemos seguir com o versionamento destes arquivos executando o comando git commit, pode ser passado a opção -m para já especificar qual a mensagem do commit:

git commit -m "Adicionando codigo.yaml e README.md"

Veremos a seguinte saída, referente a realização do git commit:

[main (root-commit) de5825c] Adicionando codigo.yaml e README.md
 2 files changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 README.md
 create mode 100644 codigo.yaml

Isso significa que foram versionados dois arquivos, o README.md e o codigo.yaml para o repositório local do git. Para visualizar as informações de versionamento, temos um comando chamado git log que mostra todos os commits realizados, seguindo uma linha do tempo e mostrando as informações sobre quem fez o commit, quando fez e através da mensagem visível do commit vemos o que foi realizado, ou seja qual o motivo do commit.

commit de5825ce918b58c2d24f0c3f9190706cd969c6ba (HEAD -> main)
Author: Nome do Usuario <nome.usuario@example.com.br>
Date:   Week Month Day 00:00:00 Year -0300

    Adicionando codigo.yaml e README.md

A partir deste momento temos o arquivos versionados e armazenados na base do git, no repositório local de nossa máquina.

Através dos dados presentes neste repositório local, é possível enviar para o repositório remoto que desejar, através do comando git push passando os parâmetros desejados.

Quer aprender mais sobre GIT? Conheça os cursos da Carreira DevOps !

Anterior Guia Prático: Como Instalar e Configurar o K3D para Kubernetes
Próxima Entenda o que é e como funciona uma Máquina Virtual

About author

Deborah Melo
Deborah Melo 9 posts

Analista de Infraestrutura | Construtora na 4Linux | LPIC 1 | Graduada em Eng. Elétrica | Apaixonada por tecnologia e ideologias Open Source.

View all posts by this author →

Você pode gostar também

Infraestrutura TI

Terraform: Aprenda a gerenciar dependências entre recursos na GCP

Esta é o terceiro capítulo da nossa série de postagens sobre Terraform, neste post iremos falar sobre as dependências entre recursos. Caso tenha perdido o início da nossa série, recomendo

Desenvolvimento

Entenda o risco das injeções de dados e como prevenir em desenvolvimento de software

Neste artigo, vamos entender o motivo pelo qual as injeções de dados (SQL Injections) estão no Top 10 da OWASP e o porquê dessa classe de vulnerabilidades precisar de atenção

DevOps

Conheça a experiência DevOps de Talita Pereira na 4Linux

No último dia 3 de setembro aconteceu a prova beta test na sede da 4Linux em SP. Foram mais de 150 inscritos que fizeram a prova de seleção na plataforma