Um Resumo sobre o Git e GitHub
- #GitHub
- #Git
O que é Git? Criado em 2005 por Linus Torvalds (Criador do Linux), o git é um sistema de versionamento de código distribuído que facilita o desenvolvimento de software colaborativo.
Git é uma tecnologia (Software - For tracking changes in any set of files, usually used for coordinating work among programmers collaboratively developing source code during software development) complementar ao GitHub (Site - A provider of Internet hosting for software development and version control using Git)
Os benefícios do uso do Git/GitHub são:
Ø Controle de versão facilitado
Ø Segurança através da encryptação e tracking de commits
Ø Armazenamento em nuvem
Ø Trabalho em equipe
Ø Possibilidade de melhorar do seu código através de contribuição por Forks
Tópicos fundamentais para entendimento do Git:
O que é o SHA1? É um algoritmo de encriptação (Secure Hash Algorithm) desenvolvido pela NSA (Agência de Segurança Nacional dos EUA) e que é usado pelo Git. Funciona tanto para arquivos quando para objetos internos. Os dados encriptados geram um conjunto de caracteres únicos de 40 dígitos, que serve como identificação.
Git gera a encriptação, mas também armazena metadados no objeto, nesse caso o objeto blob armazena metadados das strings, possui SHA1.
Quais são os objetos internos do Git?
Ø Blobs
Ø Trees
Ø Commits
Blobs: Bloco básico de composição contendo uma instância compactada do conteúdo do arquivo quando o commit aconteceu (blob é a abreviação de objeto grande binário, que é um termo de banco de dados SQL para "pode conter dados de qualquer tipo")
Trees: Armazena Blobs, com os nomes dos arquivos.
Ø Uma árvore pode conter outra árvore ou blobs. As árvores apontam para as blobs e tem um SHA1 dos metadados das árvores.
Ø Se mudar um caracter num arquivo, muda a encriptação da bolha, e consequentemente das árvores.
Commit: Objeto mais importante de todos, o objeto que vai dar sentido a alteração que está sendo realizada. Aponta para uma árvore, parente, autor, mensagem.
Ø Usa os parentes para criar uma linha do tempo e demonstrar que não houve adulteração nos commits.
Estados de um arquivo no git:
Git tem três estados principais de arquivos: committed, modified e staged. Committed: significa que os dados estão armazenados de forma segura em seu banco de dados local. Modified: significa que você alterou o arquivo, mas ainda não fez o commit no seu banco de dados. Staged: significa que você marcou a versão atual de um arquivo modificado para fazer parte de seu próximo commit.
Existem ainda os estados Tracked e Untracked: Arquivos rastreados são arquivos que estavam na última instância, bem como quaisquer arquivos recém-estabelecidos; eles podem ser modificados ou não modificados. Arquivos não rastreados são qualquer arquivo em seu diretório de trabalho que não estava na última instância e não está em sua área de teste.
Comandos essenciais usando git:
Ø Iniciar o GIT (git init)
Ø Adicionar arquivos a área de staged (git add *)
Ø Criar um commit (git commit -m "exemplomensagem")
Simple Work Flow:
1. git init (Inicializa um repositório do GIT dentro da pasta atual)
2. git config --global user.name "someone" (Seta o nickname no repositório GIT local)
3. git config --global user.email "someone@someplace.com" (Seta o email no repositório GIT local)
4. git add * (Adiciona os arquivos untracked e unmodified para staged)
5. git commit -m "some init msg" (Comita a alteração com uma mensagem "some msg")
git config --list (Exibe as configurações do repositório local)
git config --global --unset user.nickname (Remove o usuário em Git)
git config --global --unset user.email (Remove o e-mail do usuário)
Requisição de sincronização remota de repositório:
Ø git remote add origin https://github.com/Gultes/Gultes (Aponta o repositório local para o repositório no github, seta um apelido origin para esse repositório)
Ø git remote -v (Lista os repositórios remotos cadastrados)
Ø git pull origin master (Puxa as atualizações do repositório do GitHub para o repositório local)
Ø git push origin master (Empurra as atualizações do repositório local para o repositório do GitHub na branch master)
Disponível também em: https://www.linkedin.com/pulse/git-e-github-gustavo-sena/
Referências:
GIT. Git Basics - Recording Changes to the Repository. Disponível em: https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository. Acesso em: 06 jul. 2022.
DATACAMP. How does Git store information? Disponível em: https://campus.datacamp.com/courses/introduction-to-git/repositories?ex=1. Acesso em: 05 jul. 2022.
LG
Parabéns Gustavo pelo artigo!! já salvei aqui. Sempre confundo a ordem dos commits.
Parabéns pelo artigo, bem resumido!
Olá, tudo bom?
Bacana seu artigo.
Qual sua visão sobre controle de qualidade?
Por favor, posso contar com seu voto no artigo abaixo?
DIO| Codifique o seu futuro global agora
Qual sua opinião? Algo a acrescentar?
Desde já, te agradeço!