/teste2

Primary LanguageJavaScript

Workshop - Git

José Carlos Teles - Desenvovledor Backend Pl.

Gama Academy

É uma ferramenta de versionamento de código, criado pelo Linus Torvald. VCS - Version Control System

Controle de Versão

  • Registro e listagem de alterações no projeto
  • Reverter para versões anteriores
  • Comparar ou lembrar de versões anteriores
  • Registrar altor da alteração

Tipos de Controle de Versão

Local

Aquele famoso ctrl + c e ctrl +v

Resume-se em criar pastas e dados duplicados para que dessa forma seja possível realizar alterações sem prejucar as outras versões

Vantagens Desvantagens
Mais fácil Menos produtivo
Menos seguro
Falta de trabalho compartilhado

Sistemas centralizados

Um sistema compartilhado com auxilio de um servidor.

Vantagens Desvantagens
Maior controle das atividades Maior custo para manter
Várias pessoas trabalhando no mesmo projeto Maior preocupação com segurança
Projetos não ficam na máquina e sim no servidor

Sistemas Distribuidos

Git, Mercurial, são exemplos desse tipo de sistema a ideia deles é pegar o melhor dos dois mundos, a facilidade do sistema local e a capacidade de várias pessoas trabalhando no projeto do sistema centralizado.

Vantagens Desvantagens
Repositório local e remoto Maior curva de aprendizado
Mais seguro (pois são projetos abertos ou mantidos por grandes palyers) Mais limitação de controle

Repositório

É o local onde ficam armazendas todas ramificações e commits do nosso git

tudo fica armazenado dentro de uma pasta oculta .git

Criando um repositório local

git init

Criando um repositório no github

Vamos criar um repositório no github que será o nosso repositório remoto.

Clonando repositórios

git clone <url>

Commit

O commit é um comentário na história do nosso repositório, onde explicamos o que foi feito e deixamos marcado na linha do tempo.

Adicionando alterações

git add .

Adicionando arquivos "solitários"

git add FILENAME.EXTENSION

Adicionando arquivo por extensão

git add *.EXTENSION

Realizando commit

git commit -m "first commit"

Agora vamos ver nosso comit usando o git log

git log

Filtrando busca por datas

git log --since=2023-11-01
git log --until=2023-11-01

Filtrando busca por autor

git log --author=devjosecarlosteles

Filtrando pro texto

git log --grep="first"

Quando eu faço uma mudança num arquivo eu estou deixando ele no estado de "modified", quando eu uso o git add eu estou deixando arquivo com o estado de "staged" e por fim quando eu comito esse arquivo ele entra no estado "commited"

Usamos git status para ver os estados dos nossos arquivos.

Comits Semântica

Commit Descrição
Build Qualquer alteração que impactam exatamente a build, novas dependências, adição de ferramentas.
docs alterações na documentação/td>
docs alterações na documentação/td>
refactor Refatorações, ajustes na qualidade do código e implementação de "clean code"
feat Features (novidades no código), novas funcionalidades na aplicação
fix Correção de bugs

Outros comandos

Desfazendo alterações

git restore FILENAME.EXTENSION

Corrigindo mensagem do último commit

Cuidados: ao fazer você pode adicionar novos arquivos no seu último commit

git commit --amend -m "new message"

Revertendo os commits

git reset hash --hard

git reset HEAD

Branchs

Criando universos parelelos

git branch branchname

Viajando entre universos

git branch branchname
git switch branchname
Branch Descrição
main Seu ambiente principal
develop
staging
homolog

Pull

Baixando dados do nosso repositório remoto

git pull

Merge

Unificando universos paralelos

git merge branchname

Pull Request (PR)

Git ignore

Terminal

Ferramentas

  • Github desktop
  • Git leans
  • commitlint