3

Bom dia, boa tarde ou boa noite! Tudo Bem? Esse é um resumo que montei sobre a aula de Git e Github.

#GitHub #Git
M
Mateus Oliveira

Anotações GIT

GIT:CLI (por linha de comando, sem uma interface)


Comandos de navegação/comandos básicos do terminal:


dir:vai listar, mostrar os diretórios contidos na pasta em que estamos.

flag é um complemento passado para o comando, que modifica ou formata o comando

Cd(Change directory): Possibilita a navegação entre as pastas

Cd /: leva para a base do diretório(lugar específico)

Cd Windows: leva para a pasta Windows, assim como para outras pastas, o "Windows" poderia ser substituido por qualquer nome de outra pasta

Cd ..: retrocede 1 nível da navegação, volta para trás

cls(clear screen): limpa a tela

Atalho: tab(tecla das 2 setas):Reconhece e autocompleta informações,evita erros

Mkdir(make directory): comando usado para criar pastas

silence is sucess:é um conceito, se você deu algum comando e não apareceu nada, significa que deu certo.Se deu certo, o terminal não vai falar nada

echo:é o comando que printa de volta no terminal uma frase ou texto

>:é o comando que redireciona o curso, vai "jogar" a informação para o arquivo

del(delete):deletar o que está dentro de uma pasta. Deleta os arquivos de uma pasta.

Atalho: setinha pra cima, retornar os comandos utilizados antes.

Comando para deletar todo um repositório e seus arquivos: /S /Q

Flag: -a: mostra arquivos ocultos

Flag: -m:flag que antecede uma string depois do comando git commit, no caso de ser antecedido pelo comando "Git add *"


Funcionamento do GIT por baixo dos panos:Conceitos:


Sha1(Secure Hash Algorithm): Algoritmo de encriptação, que gera um conjunto de caracteres de 40 dígitos que é único,"forma curta de representar um arquivo e o seu estado"


Objetos do GIT:Funcionalidade básica:

Blobs:Objeto específico onde os arquivos e metadados ficam guardados, o tipo do objeto, tamanho da string ou arquivo, uma \0 e o conteudo do arquivo, texto, binário e etc

Tree:Armazena os blobs, blocos básicos, as trees apontam para tipos de blobs diferentes, que tem seu sha1 e o nome do arquivo, a árvore é responsável por montar a estrutura de onde estão localizados os arquivos.

Uma árvore(tree) pode apontar para outra árvore da mesma maneira que um diretório pode conter outro diretório

As bolhas tem o sha1 do arquivo as árvores apontam para as bolhas e as árvores por sua vez tem o sha1 encriptado com os metadados das árvores.Ou seja, uma coisa está relacionada a outra sempre, uma mudança no blob já vai gerar uma mudança em toda a estrutura.

O Blob é um objeto que encapsula o comportamento dos diretórios e é usado para apopntar para diretórios que tem arquivos.

Commit:Objeto que dá sentido para as alterações. O Commit aponta para: uma árvore, um parente(ultimo Commit realizado antes dele), para um autor e para uma mensagem e tambem um timestamp( carimbo do tempo, ou seja, data,hora e etc de quando foi criado).

O Commit representa um código que não obteve alterações feitas por outra pessoa, o Commit é único para cada autor, qualquer alteração irá refletir em uma mudança em todos SHA1s da estrutura.

O GIT é um sistema distribuido e seguro pois os commits são praticamentes impossíveis de serem alterados e apartir do momento em que você roosteia para uma rede, toda a estrutura ainda ficará salva no computador dos manteiners do servidor roosteado


Comandos do Git:

Git Init: Serve para iniciar o repositório

Git add: Serve para dar inicio ao versionamento, mover arquivos, conhecer os primeiros comandos

Git commit: Serve para criar um commit


No terminal usa-se sempre o nome do progama antes do comando, no caso o "git" antes de por exemplo: "GIT init" "GIT add"


.md:Markdown, é um atalho para criar uma estrutura simples para organizar seu texto e modificá-lo.


GIT init: Inicializa um conceito do GIt chamado repositório, cria-se um repositório no GIT dentro daquele diretório(pasta)


TRACKED ou UNTRACKED:


UNTRACKED: Arquivos que o GIT ainda não tem ciência deles

TRACKED:Arquivos que são rastreados de fato pelo GIT, pode ser subdividido em 3 fases:Unmodified, Modified e Staged.

Unmodified:Arquivo de texto ainda não modificado

Modified:Arquivo já modificado, que saiu da fase Unmodified para a fase Modified.

Staged:Arquivos que estão se preparando para fazer parte de um outro tipo de agrupamento.


Git add:Move o arquivo Untracked diretamente para staged

Arquivo Unmodified: Arquivo no repositótio Git ainda sem modificação, se modificar ele, ele muda imediatamente para Modified, o Git faz isso comparando o sha1 dos 2 arquivos

Se rodar o "git add" em um arquivo Modified ele se torna Staged

Se tivermos um arquivo unmodified e removemos ele, ele retorna ao untracked, pois o git n tem ciência dele

Quando movemos o arquivo para o Staged ele esta fazendo nada mais do que se preparando para se tornar um Commit

O Commit retorna todos os arquivos para Unmodified, para começar o ciclo novamente, ele vai salvar e criar um "snapshot" do arquivo no momento, eles retornam ao Unmodified a fim de aguardar uma modificação 


Repositórios, separação de 2 ambientes: servidor e local(a que está na minha máquina).

Repositório remoto é aquele que está localizado em um servidor. O repositório local é o ambiente de trabalho, seu computador.

Os arquivos se locomovem frequentemente do Working Directory para a Stagin Area, o arquivo também se move da Stagin Area para o Repositório local,ao fazer um commit,deixando ele no Unmodified e populando o repositório local.


*OBS: Eu estou fazendo também um resumo sobre a aula de HTML, quando ficar pronto postarei. Eu estava enfrentando problemas para postar esse arquivo, então se aparecer duplicado me desculpem. Se acharem algum erro e quiserem reportar fiquem à vontade : ) . Eu postei o meu código no Github, o link dele está no meu perfil para os interessados, um forte abraço!


2
101

Comentários (3)

0
R

Roberto Silva

21/08/2021 12:28

me ajudo muito


0
André Hedlund

André Hedlund

07/01/2021 10:18

Show !!

0
Thiago Guedes

Thiago Guedes

07/01/2021 09:16

Valeu, Mateus! Ótima contribuição!

None

Brasil