image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Article image
Aline Gorisch
Aline Gorisch06/10/2022 11:23
Compartilhe

Curso: Introdução ao Git e ao GitHub

  • #GitHub
  • #Git

Anotações aula 📝

Entendendo o que é Git e a sua importância ⭐️

Por quê? Git é importante pois ele controla o históricos de alterações realizados ao longo de um projeto, tendo sempre a referência de código base. É colaborativo e permite flexibilidade, segurança e desempenho no fluxo de trabalho.

  • Criado pelo Linus Torvalds de forma colaborativa
  • Git e GitHub são tecnologias diferentes, mas complementares
  • Existem outras tecnologias mas o Git e o GitHub são amplamente utilizados

Benefícios

1- Controle de Versão

2- Armazenamento em nuvem

3- Trabalho em equipe

4- Melhorar seu código

5- Reconhecimento

Navegação via command line interface e instalação📜

O Git foi concebido para ser utilizado via linha de comando (Command Line Interface) e não por interface gráfica (Graphic User Interface), os comandos variam de acordo com o terminal (Windows ou Unix).

Primeiros comandos no Windows

1- dir: lista os repositórios e arquivos

2 - cls: Limpa a tela

3 - cd: navega entre os repositórios = cd nome repositório ou caminho

4 - cd..: volta um nível

5 - mkdir: cria repositórios = *mkdir nome do repositório

6 - echo: cria arquivos = cho nome arquivo > nome arquivo.extensão

7 - del: deleta os arquivos dos repositórios = del nome repositório

8 - rmdir: deletar os repositórios = rmdir nome repositório + /S /Q

Entendendo como o Git funciona por baixo dos panos🖥

Tópicos fundamentais para entender o funcionamento do Git

Conceitos:

  • SHA 1
  • Objetos fundamentais
  • Sistema distribuído
  • Segurança

A sigla SHA significa Secure Hash Algorithm (Algoritmo de Hash Seguro), é um conjunto de funções Hash criptográficas projetadas pela NSA (Agência de Segurança Nacional dos EUA ).

O resultado da encriptação gera um conjunto de caracteres identificador de 40 dígitos ÚNICOS. Sendo uma forma curta de representar um arquivo.

Na prática o SHA1 irá encriptar arquivos e qualquer alteração que for realizada dentro de um arquivo ou repositório resultará em uma chave SHA1 diferente, garantindo assim o controle e a integridade do projeto.

Os Objetos fundamentais são: BLOBS, TREES e COMMITS

Na prática os arquivos são armazenados dentro dos BLOBS esse objeto contém metadados do Git (tipo, tamanho, \0, conteúdo).

As TREES (árvores) elas armazenam BLOBS e apontam para tipos de BLOBS diferentes, elas também contém metadados (tipo, tamanho, \0, BLOB, SHA1, nome do arquivo ).

Eles apresentam uma relação de efeito dominó ou seja, qualquer alteração realizada em um arquivo do BLOB para o qual a TREE aponta, resulta na alteração do SHA1 do BLOB e da TREE.

A estrutura das TREES como no exemplo abaixo apontam para: arquivos (README, Rakefile, lib) > BLOBS > TREES > aquivos (Simplegit.rb) > BLOBS

Commit é o objeto mais importante pois ele agrega todos os objetos, sua estrutura contém (tipo, tamanho, TREE, parente, autor, mensagem, timestamp) é neste momento que se coloca a mensagem que vai dar sentido para a alteração que foi feita no seu arquivo.

Qualquer alteração realizada em um arquivo do BLOB resulta na alteração do SHA1 do BLOB, TREE e do Commit.

Chave SSH é uma forma segura e prática de integrar seu servidor local com o servidor remoto (GitHub), isso permite com que o fluxo de trabalho para a nuvem seja mais rápido sem a necessidade do uso login e senha no GitBash uma vez configurada a chave para a criação da chave é necessário as seguintes etapas:

1- Criação da chave SSH o GitBash com os seguinte comandos:

ssh-keygen -t ed25519 -C user@email.com

(a saída será a mensagem de gerando par de chaves publica/privada e o local onde a chave será gerada)

Em seguida press enter e digitar uma senha (guarde essa senha)

2 - Navegar até a pasta em que foi gerada as chaves e usar o comando ls para listar as chaves da pasta

3 - com o comando: cat chavepública

ou seja é o arquivo.pub ( a saída será uma chave que deverá ser copiada nesse momento)

4 - Criação de nova chave no GitHub no menu (SSH and GPG keys) no seu perfil do GitHub (colocar o nome da chave no Title e colar a chave copiada do GitBash no Key)

5 - No GitBash inicializar a chave com o comando dentro da pasta onde a chave foi gerada :

eval $(ssh-agent -s)

resultado de saída será o agente pid

6 - comando ls para listas as chaves novamente

7 - nessa etapa a chave será entregue para o agente que é o "administrador" da nossa chave com o comando:

ssh-add chaveprivada

press enter e ele solicitará a senha digitada no passo 1

Primeiros comandos com Git🌳

Iniciando o Git e criando um commit

Objetivos

  • Iniciar o GIT
  • Iniciar o versionamento
  • Criar um commit

Com a pasta de trabalho criada:

git init (dentro da pasta que é para ser versionada)

(se utilizado pela primeira vez é necessário configurar usuário e e-mail com os comandos:

git config --global user.email "user@email.com " para configurar e-mail do usuário

git config --global user.name nome)

Com o arquivo criado em editor de texto por exemplo utilizar os comandos:

git add *: para adicionar o arquivo no modo versionamento

*git commit -m "mensagem explicando as alterações"

Ciclo de vida dos arquivos no Git🌳

Passo a passo no ciclo de vida

O ciclo de vida de um projeto se resume na imagem abaixo untracked são arquivos que ainda não foram rastreados e tracked são arquivos rastreados.

Arquivos tracked tem seu ciclo de vida dentro de três estágios:

1 - unmodified: são arquivos que não foram modificados

2 - modified: são arquivos unmodified que foram modificados

3 - staged: são arquivos que estão prontos para serem commitados

Na prática os arquivos ficam transitando dentro deste ciclo: cria-se um arquivo untracked ele migra direto para staged onde é commitado, após isso ele migra para unmodified aqui pode-se remover o arquivo nesse caso ele migra para o untracked novamente ou o arquivo pode ser editado migrando então para o modified nesse estágio ele migra para o staged novamente, e recomeça todo o ciclo quando ele é commitado.

Comandos

mkdir: cria repositórios

git status: mostra a situação atual dos seus arquivos

mv nomearquivo ./repositório/: esse comando muda um arquivo para outro repositório desejado

git restore -- sataged: tranforma o arquivo para unstaged

git commit - m "mensagem da alteração realizada": commita as novas alterações

Compartilhe
Comentários (6)
Antonio Gomes
Antonio Gomes - 08/11/2022 23:21

Gostaria de fazer esse curso, mas não aparece na minha lista de pesquisas...

poderia colocar o link aqui, como informei, na pesquisa não aparece :(

Mauricio Souza
Mauricio Souza - 11/10/2022 05:10

Parabéns! Ótimo resumo =)


Marcos Wagner
Marcos Wagner - 06/10/2022 11:28

Bom dia, Aline! Essa semana fiz esse curso também. Que legal você ter feito essas anotações e compartilhado por aqui! Muito obrigado!! =D

Laio Silva
Laio Silva - 06/10/2022 12:16

Olá, tudo bom?

Bacana seu artigo.

Qual sua visão sobre qualidade?

Por favor, posso contar com seu voto no artigo abaixo?


DIO | Codifique o seu futuro global agora

Desde já, te agradeço!

Wellington Sousa
Wellington Sousa - 06/10/2022 12:18

Realmente foi bem resumido ...Parabéns continue assim.

Cássio Menezes
Cássio Menezes - 06/10/2022 12:00

Excelente resumo Aline. Bem abrangente e alinhado ao conteúdo apresentado.

Parabéns.