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.

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

nextjs tutorial video

Youtube Tutorial Series 📺

So you built a Next.js app, but you need a clear view of the entire operation flow to be able to identify performance bottlenecks before you launch. But how do you get started? Get the essentials on tracing for Next.js from @nikolovlazar in this video series 👀

Watch the Youtube series