DEV Community

Cover image for The Git Week: O Básico para Começar
Lorenzo Uriel
Lorenzo Uriel

Posted on

The Git Week: O Básico para Começar

A ideia desse artigo é te introduzir no mundo do Git, você vai aprender os principais comandos, como iniciar com um repositório no GitHub e sobre Markdown para começar as suas documentações.

Tópicos

  1. Aprendendo Git
    • Principais Comandos
    • Repositórios
    • Markdown
  2. O que é Versionamento e Tags?

Aprendendo GIT

O Git é um sistema de controle de versão, projetado para rastrear alterações em projetos de software e coordenar o trabalho de várias pessoas neles.

Desenvolvido por Linus Torvalds em 2005, o Git se destaca por sua eficiência, flexibilidade e capacidade de lidar com projetos de qualquer tamanho.

Ele registra as alterações no código-fonte, permite que várias ramificações de desenvolvimento existam simultaneamente e facilita a fusão de código de diferentes colaboradores.

Principais Comandos

Commit

Acontece quando queremos salvar as última atualizações que foram realizadas.

Processos relacionados ao Commit:

  • Verificar o status dos arquivos modificados:
git status
Enter fullscreen mode Exit fullscreen mode
  • Adicionar os arquivos para o commit:
git add arquivo1.txt arquivo2.js

git add .
Enter fullscreen mode Exit fullscreen mode
  • Realizar o commit:
git commit -m "Primeiro Commit"
Enter fullscreen mode Exit fullscreen mode

O -m é utilizado para adicionarmos uma mensagem no commit, em seguida temos o texto "Primeiro Commit".

Push

Acontece quando enviamos as alterações para o repositório - "empurra" as modificações para o repositório remoto

Processos relacionados ao Push:

  • Realizar o push para o repositório remoto:
git push

# ou

git push origin nome-da-branch
Enter fullscreen mode Exit fullscreen mode
  • Se for a primeira conexão e primeiro push:
git push -u origin nome-da-branch
Enter fullscreen mode Exit fullscreen mode

É necessário configurar a relação entre as branches locais e remotas usando o comando acima.

O -u estabelece uma relação de acompanhamento, facilitando futuros pushes e pulls.

Pull

Atualiza o seu repositório local com as alterções no repositório remoto - "puxa" as alterações do repositório remoto.

Ele traz todas as alterações do seu repositório remoto para o local.

Processos relacionados ao Pull:

  • Realizar o pull para obter as alterações mais recentes:
git pull origin nome-da-branch
Enter fullscreen mode Exit fullscreen mode
  • Se você já configurou a relação de acompanhamento durante o git push -u, pode usar apenas:
git pull
Enter fullscreen mode Exit fullscreen mode

Tag

Uma tag no Git é uma referência específica a um ponto na história do seu repositório. É comumente usado para marcar versões estáveis ou importantes do seu projeto.

As tags são úteis para criar pontos de referência fixos que não se movem à medida que novos commits são feitos.

Processos relacionados ao Tag:

  • Listar as tags existentes:
git tag
Enter fullscreen mode Exit fullscreen mode
  • Criar uma nova tag:
git tag -a v1.0 -m "Versão 1.0"
Enter fullscreen mode Exit fullscreen mode
  • Este comando cria uma tag anotada chamada "v1.0" com uma mensagem descritiva "Versão 1.0".

    • 1. a: Cria uma tag anotada.
    • 2. v1.0: Nome da tag.
    • 3. -m "Versão 1.0": Mensagem descritiva associada à tag.
  • Compartilhar a tag no repositório remoto:

git push origin v1.0
Enter fullscreen mode Exit fullscreen mode

Repositórios

O repositório é o local onde o projeto fica armazenado. Temos os repositórios locais e remotos:

  • Remoto - GitHub, outro CVS ou Servidor
  • Local - Própria Máquina

No repositório temos os branchs (Ramos) originais do projeto que chamamos de main, podemos também criar novos branchs para desenvolver as alterações.

Exemplo: Crie um branch chamado dev-task-13, nesse branch você vai focar em finalizar a task 13 do seu backlog, quando finalizar você commita e faz um merge com a branch principal. Assim, você não afeta o seu branch principal com alterações que podem quebrar o código.

Quando trabalhamos com repositórios remotos, temos que citar as Issues - no contexto do Git, uma "issue" refere-se a uma maneira de rastrear tarefas, melhorias, erros (bugs) ou discussões relacionadas a um projeto específico.

Chamamos de Working Tree, o local onde os arquivos estão realmente armazenados. E temos o index (índice) que é local onde o Git armazena o que será commitado, entre a Working Tree e o Repositório Git.

Arquitetura Git e Comandos:
Arquitetura Git e Comandos

Criando um Repo Local e Remoto:

1. Vá até o seu GitHub e crie um novo repositório:
Repo Local e Remoto

2. Navegue até o diretório local onde deseja criar o repositório — use o comando cd para entrar no diretório desejado.

cd c:\path\vagrant
Enter fullscreen mode Exit fullscreen mode

3. Este comando cria um arquivo chamado README.md e insere o texto #up-website-with-vagrant nele. O >> é um operador de redirecionamento que acrescenta o texto ao final do arquivo, ou cria o arquivo se ele não existir.

echo "# up-website-with-vagrant" >> README.md
Enter fullscreen mode Exit fullscreen mode

4. Inicializa um novo repositório Git no diretório atual.

git init
Enter fullscreen mode Exit fullscreen mode

5. Adiciona o arquivo README.md ao índice. Isso prepara o arquivo para ser incluído no próximo commit.

git add README.md
Enter fullscreen mode Exit fullscreen mode

6. Adiciona todas as alterações (Se houver)

git add .
Enter fullscreen mode Exit fullscreen mode

7. Cria o primeiro commit no repositório com uma mensagem. O -m permite adicionar a mensagem de commit diretamente na linha de comando.

git commit -m "first commit"
Enter fullscreen mode Exit fullscreen mode

8. Renomeia a branch padrão do repositório para main. Este comando é usado para atualizar o nome da branch principal para seguir as práticas mais recentes em relação ao uso de nomes, substituindo a antiga master

git branch -M main
Enter fullscreen mode Exit fullscreen mode

9. Adiciona um repositório remoto chamado "origin". O termo "origin" é um padrão utilizado para referenciar o repositório remoto principal. O URL é o endereço do repositório no GitHub.

git remote add origin https://github.com/lorenzouriel/up-website-with-vagrant.git
Enter fullscreen mode Exit fullscreen mode

10. Envia o repositório local para o repositório remoto ("origin") na branch principal (main). O -u estabelece uma relação de acompanhamento, associando automaticamente a branch local com a branch remota. Isso é útil para futuros git pull e git push sem a necessidade de especificar a branch.

git push -u origin main
Enter fullscreen mode Exit fullscreen mode

Podemos verificar o nosso repositório remoto:
repositorio remoto

Markdown

No contexto do Git, o Markdown é usado para criar arquivos de documentação, como README.md. Sempre atualize o seu README.md!

Breve resumo sobre Markdown

  • Cabeçalhos:
# Meu Projeto

## Descrição

Uma breve descrição do meu incrível projeto.
Enter fullscreen mode Exit fullscreen mode
  • Listas:
### Funcionalidades

- Funcionalidade 1

- Funcionalidade 2

- Funcionalidade 3
Enter fullscreen mode Exit fullscreen mode
  • Links:
[Link para o meu site](https://www.exemplo.com)
Enter fullscreen mode Exit fullscreen mode
  • Imagens:
![Logo do Projeto](imagens/logo.png)
Enter fullscreen mode Exit fullscreen mode
  • Ênfase (negrito e itálico):
Este é um **projeto incrível** que usa _tecnologias modernas_.
Enter fullscreen mode Exit fullscreen mode
  • Citações:
> "Beba água." - Ivysson
Enter fullscreen mode Exit fullscreen mode
  • Tabelas:
| Nome       | Função           |
|------------|------------------|
| João       | Desenvolvedor    |
| Maria      | Designer         |
Enter fullscreen mode Exit fullscreen mode
  • Código: codes-md

O que é Versionamento e Tags?

Já trabalhou com lançamento de versões?

Ou com Tags no Git?

As tags são bem importantes em nossos projetos - com elas conseguimos identificar em qual momento no tempo ocorreram os principais lançamentos e versões.

É um meio de organizar e documentar o seu trabalho.

Mas quando você for adicionar as tags, vai saber a diferença de cada número?

Vou te explicar a diferença de forma simples e prática:

  • Major: São alterações incompatíveis com as versões anteriores (Reestruturou tudo? Adicione +1 - v2.0.0)
  • Minor: São alterações importantes e compativéis com a versão anterior (Adicionou uma nova funcionalidade? Adicione +1 v2.1.0)
  • Correção: Erros e bugs que não afetam a versão (Encontrou um bug e corrigiu? Adicione +1 v2.1.1)
  • Build: É um controle interno do Git e do versionamento, ele não fica necessariamente à vista quando você especifica a versão.

Exemplo:
versionamento


Obrigado por ler até aqui!

Fazendo o que precisa ser feito.

Top comments (0)