Git e Github para Iniciantes by Alysson Ajackson
-
Upload
alysson-ajackson -
Category
Software
-
view
586 -
download
1
description
Transcript of Git e Github para Iniciantes by Alysson Ajackson
![Page 1: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/1.jpg)
Git e Githubpara iniciantes
Alysson Ajackson
![Page 2: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/2.jpg)
ApresentaçãoAlysson A
jacksonabout:me_
![Page 3: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/3.jpg)
Roteiro i. Conhecendo o GIT
ii. Vocabulário: expressões estranhas e alguns comandos
iii. Entendendo um ambiente de desenvolvimento com GIT
iv. Criando um repositório
v. Alterações e commits
vi. Enviando e recebendo (remotes)
vii. Conhecendo o GitHub
viii. Criando um repositório
ix. Compartilhando seu código
![Page 4: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/4.jpg)
Mas o que é oGIT?[ ]
Conhecendo o GIT
![Page 5: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/5.jpg)
Controle de versão?
“O controle de versão é um sistema que registra asmudanças feitas em um arquivo ou um conjunto de
arquivos ao longo do tempo de forma que você possarecuperar versões específicas.”
fonte: git-scm.com
![Page 6: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/6.jpg)
Dist
ribuíd
o?
fonte: git-scm.com
![Page 7: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/7.jpg)
[ Vocabulário básico ]● Repositório git: Pasta contendo arquivos de um projeto, cujas
modificações nesses arquivos são trackeadas pelo GIT.● Commit: cada“salvamento”de uma revisão.● Merge: Junção de 2 “versões”do código.● Pull: Obter código de outro repositório [remoto], fazendo mergecom o seu repositório atual.
● Push: Enviar seu código atual para outro repositório [remoto].
![Page 8: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/8.jpg)
Como o GIT funciona?
Snapshots. E não diferenças [somente].
A cada commit seu, o git tira uma foto do seu projeto!
![Page 9: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/9.jpg)
Árv
ore
de
com
mit
s
![Page 10: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/10.jpg)
GIT tem integridade!
“Tudo no Git tem seu checksum (valor para verificação deintegridade) calculado antes que seja armazenado e então
passa a ser referenciado pelo checksum. Isso significa que éimpossível mudar o conteúdo de qualquer arquivo ou
diretório sem que o Git tenha conhecimento.”
fonte: git-scm.com
![Page 11: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/11.jpg)
GIT tem integridade!“O mecanismo que o Git usa para fazer o checksum é chamado de hash SHA-1,uma string de 40 caracteres composta de caracteres hexadecimais (0-9 e a-f)que é calculado a partir do conteúdo de um arquivo ou estrutura de umdiretório no Git.”
Um hash SHA-1 parece com algo mais ou menos assim:
24b9da6552252987aa493b52f8696cd6d3b00373
fonte: git-scm.com
![Page 12: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/12.jpg)
Autor dos commits [não repúdio]
Antes de fazer um commit, é necessário configurar nome e e-maildo usuário (autor).
(1) git config --global user.name “Alysson Ajackson”
(2) git config --global user.email “[email protected]”
![Page 13: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/13.jpg)
Autenticação e Autenticidade● O servidor GIT restringe o acesso aos repositórios;● A autenticação é feita por meio de par de chaves [SSH] ouusuário e senha [HTTPs];
● O Github, por exemplo, permite esses 2 tipos de autenticação.– SSH: indicado para computadores não públicos (suas chaves ficamligadas a ele)
– HTTP: pode ser utilizado em qualquer computador, sem préviasconfigurações
![Page 14: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/14.jpg)
Vantagens de se utilizar GIT
Backups!
Controle de versões
Integração
Agilidade
Segurança
Não repúdio
Não há perda de dados
Fácil configuração de umnovo ambiente
Multiplataforma
![Page 15: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/15.jpg)
Como utilizar o GIT
Opção 1 – Terminal (linhas de comando)
![Page 16: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/16.jpg)
Opção 2 – SourcetreeApp (for Windows and MAC OS) - by bitbucket.org
![Page 17: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/17.jpg)
Opção 3 – SmartGit – For Windows, Linux and MAC OS (free for non-commercial use)
![Page 18: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/18.jpg)
Opção 4 – GIT Gui – by git-scm.com
![Page 19: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/19.jpg)
Opção 5 – Github for Windows – by Github
https://windows.github.com
![Page 20: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/20.jpg)
Um ambiente dedesenvolviment
o com GIT
![Page 21: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/21.jpg)
Prática!
![Page 22: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/22.jpg)
Obtendo e instalando o GIT
http://git-scm.com/downloads
![Page 23: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/23.jpg)
Obtendo e instalando o GIT no Linux
$ sudo apt-get install git
$ sudo yum install git
...
![Page 24: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/24.jpg)
Conhecendo o terminalcd → mudar de pastals → mostrar conteúdo da pastapwd → em que pasta estou?mkdir “projeto” → cria pasta “projeto”rm x → apaga arquivo xrm -r y → apaga pasta y
cd [tab][tab] #mostra opções [no caso, pastas] possíveis
Funciona para qualquer comando no linux
![Page 25: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/25.jpg)
Workflow básico do GIT(1) Você modifica arquivos no seu diretório de trabalho.
(2) Você seleciona os arquivos, adicionando snapshots
deles para sua área de preparação.
(3) Você faz um commit, que leva os arquivos como eles
estão na sua área de preparação..
(armazena informações de como será seu próximo commit)
![Page 26: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/26.jpg)
Criando o seu primeirorepositório
Hello world.
![Page 27: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/27.jpg)
Os 3 estados do GIT
![Page 28: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/28.jpg)
Ignorando arquivos(1) Crie um arquivo .gitignore, na raiz do seu projeto
(2) Indique os arquivos a serem ignorados pelo GIT.
Ex.:
/config/database.php #ignora o arquivo que contém senha e dados de acesso ao BD
/uploads #ignora a pasta uploads que está na raiz
*.bk #ignora quaisquer arquivos com a extensão .bk
![Page 29: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/29.jpg)
Ciclo de vida dos status de um arquivo
![Page 30: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/30.jpg)
fazendo o seu primeirocommit
git commit -m \“Iniciando projeto”
![Page 31: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/31.jpg)
Criando um repositório
(1) Criar pasta
(2) Acessar a pasta via terminal → cd /meu/projeto
(3) git init [enter]
(4) Adicione arquivos
(5) Faça commits
![Page 32: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/32.jpg)
Alterações e commits
(1) Crie arquivo(s) em seu projeto
(2) git status
(3) git add [nome_do_arquivo]
(4) git status
(5) git commit -m “mensagem de commit”
![Page 33: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/33.jpg)
Alterações e commits
(1) Altere o conteúdo do(s) arquivo(s) em seu projeto
(2) git status
(3) git diff
(4) git add [nome_do_arquivo]
(5) git status
(6) git commit -m “mensagem de commit”
![Page 34: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/34.jpg)
Trabalhando com branches
![Page 35: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/35.jpg)
Desfazendo alterações
(1) git checkout –- arquivo
# desfaz as alterações feitas (ainda não comitadas), no
arquivo indicado
![Page 36: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/36.jpg)
Alterando entre versões
(1) git checkout hash-do-commit
# retorna o repositório ao momento (snapshot) indicado pelo
hash do commit
/* Você pode indicar um nome de arquivo nesse comando,para voltar a versão de um arquivo específico */
![Page 37: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/37.jpg)
Criando um branch
(1) git checkout -b “funcionalidade”
(2) git status #perceba que o branch mudou!
(3) Crie arquivos ou faça alterações
(4) Faça commits (git add...git commit)
(5) git status #perceba que os commits estão OK
(6) git checkout master #voltamos ao branch principal
![Page 38: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/38.jpg)
Merge! [branches locais]
(1) git checkout “funcionalidade” #agora sem o -b
(2) git status #perceba que o branch mudou!
(3) Crie arquivos ou faça alterações
(4) Commits (git add...git commit) #funcionalidade OK
(5) git status #perceba que os commits estão OK
(6) git checkout master #voltamos ao branch principal
(7) git merge “funcionalidade” “master” #merge OK
![Page 39: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/39.jpg)
Configurando atalhos [terminal]
git config alias.s status #git status virou 'git s'
git config alias.c commit #git status virou 'git c'
...
![Page 40: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/40.jpg)
Repositórios remotos [servidor GIT]
![Page 41: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/41.jpg)
![Page 42: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/42.jpg)
![Page 43: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/43.jpg)
![Page 44: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/44.jpg)
Configurando suas chaves [RSA] para acesso via SSH
(1) No terminal, digite: ssh-keygen [enter]
(2) [enter] para confirmar o local de criação da chave
(3) Digite uma passphrase para essa chave (se deixar em branco nãoserá necessário digitar a senha toda vez que quiser enviar ou receber
código do github).
(4) Par de chaves criado!
![Page 45: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/45.jpg)
![Page 46: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/46.jpg)
![Page 47: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/47.jpg)
Chaves adicionadas.
Volte à tela do seu repositório no GitHub.
A opção clonar via SSH deve estar habilitada.
![Page 48: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/48.jpg)
Adicionando o repositório do github como remoto!
Voltando ao terminal...
(1) git remote -v #não temos remoto algum
(2) git remote add origin “url-do-repo-github” [enter]
(3) git remote -v #temos um repositório remoto!
![Page 49: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/49.jpg)
Enviando e recebendo código seu PC ←-> GitHub
Ainda no terminal...
(1) git pull origin master #atualizando o branch master[local], a partir do origin
(2) git push origin master #enviando o branch master p/ origin
![Page 50: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/50.jpg)
Lidando com conflitos!
Quando isso ocorrer:Basta reajustar o arquivo, fazer o commit, e pronto!
Você já pode dar push normalmente!
![Page 51: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/51.jpg)
Trabalhando com colaboradores [github]
![Page 52: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/52.jpg)
Trabalhando com colaboradores [github]
![Page 53: Git e Github para Iniciantes by Alysson Ajackson](https://reader031.fdocument.pub/reader031/viewer/2022013102/558de6531a28ab07438b47a3/html5/thumbnails/53.jpg)
Dúvidas?@alyssonweb
http://git-scm.com/book/pt-br/v1
Obrigado!