Git/GitHub
Code Sharing
Johni Douglas Marangon
www.linkedin.com/in/johnidouglas
github.com/johnidm
johnidouglas.com
johni.douglas.marangon@gmail.com
Fullstack Developer at Contentools
Marketing de Conteúdo
Sugestão para assuntos futuros
Testes + Integração Continua Técnicas de Deploy Tópicos avançados Git/GutHub (Relase, Tags, Branchs, Merge, Comandos Git, Hocks, etc…) Python + Django Code Review
Angular JS
Git e GitHub para iniciantes
Disponível em goo.gl/2e5rX6
Code Kata
Desafio
Liberar todos os projetos no GitHub
que você escreveu na faculdade e compartilhe ele no grupo OESTI Digital do Facebook
Objetivos
- Principais comandos do Git
- Como usar o GitHub
- Aprender a compartilhar seu código
Material complementar
https://github.com/OESTIDigital/tutoriais/blob/master/git-github.md#material-complementar
Mitos
- Git e GitHub é dificil
- Medo de usar linha de comando
- O que eu estou escrevendo não é bom
Motivação
- No seu computador ninguém vê o seu potencial
- O GitHub é seu portfólio
- O código não é só seu, compartilhe ele.
- Você pode ajudar muitas pessoas a escreverem software com mais qualidade
Compartilhando de Código
- Contribuindo com projetos open source
- De like em projetos que você gostou e usou
- Escreva código e libere no GitHub
- Escreva seus próprios projetos
- Compartilhe os projetos que você esta usando (em redes sociais, converse com amigos, escreva sobre eles)
- Crie um blog e escreva sobre o que você esta fazendo
- Participe de eventos e ajude a organizar
Git
- O Git é um sistemas de controle de versão distribuído
- Você consiga fazer alterações e commits sem estar necessariamente ligado a um repositório remoto.
- SVN - Baseados no modelo cliente servidor
- O Git é utilizado por inúmeras empresas
- Atualmente é indispensável saber como utilizar ele para uma carreira bem sucedida em desenvolvimento de software.
Instalando o Git
- Download - https://git-scm.com/downloads
- Recomenda-se fortemente o uso de linha de comandos para trabalhar com o Git
- pode utilizar alguma GUI para complementar o uso da linha de comando
- GUIs - https://git-scm.com/downloads/guis
- Para complementar o estudo faça o - https://try.github.io/
- SVN - Mercurial- CSV - Bazzar - Microsoft TFS.
GitHub
- É uma plataforma colaborativa para usuários do git
- É um repositório remoto
-
Tem a função social e permite que os desenvolvedores discutam detalhes do código em questão
- Usado por inúmeras empresas importantes como Google, Nasa, Linekdin, Facebook e Twitter
- O GitHub é muito utilizado para hospedar projetos open source
- Git não é a mesma coisa que GitHub, Git é o controle de versão, GitHub é um site na web que você hospeda seus projetos
- Alem do GitHub temos outras alternativas como: GitLab; BitBucket e SourceForge.
GitHub
Existem muitas funcionalidades que podem ser utilizadas pelo desenvolvedores:
- Wiki do projeto - crie documentações eficientes para seu projeto
- Colaboradores - adicione pessoas que fazem parte do projeto
- Issues - registrar e conversar sobre questões do projeto
- Releases - controlar versões oficiais
- Follow - siga outros desenvolvedores no github
- Watch ( assista um projeto em específico e receba notificações sobre atualizações no projeto)
- GitHub Pages - crie um site para seu projeto e hospede no github
- Gist - É uma maneira simples de compartilhar trechos de código
Configurando o Git
git config --global user.name "<Seu Nome>"
git config --global user.email "<Seu Email>"
git config --global user.name "Johni Douglas Marangon"
git config --global user.email "johni.douglas.marangon@gmail.com"
git config --list
git help
git help add
git help commit
Versionando seu código com o Git
mkdir sistema-biblioteca
cd sistema-biblioteca
git init
touch index.html
touch anotacoes.txt
mkdir css
touch css/index.css
git status
git add .
git add <nome do arquivo>
git commit -m "Incluído os arquivos index.html e index.css"
git log
Alterando um arquivo
git add .
git add <nome do arquivo>
git commit -m "Incluído tags HTML"
git log
Alterando um arquivo
git rm <nome do arquivo>
git commit -m "Incluído tags HTML"
git log
Ignorando arquivos
anotacoes.txt
*.exe
eclipse/
- Mecânismo que permite ignorar esse arquivos e pastas
- Existem arquivos que não fazem sentido serem versionados
Compartilhando seu código através do GitHub
Documentação
O arquivo README.md é muito importante e deve sempre existir em um projeto, ele fica na raiz do projeto e pode possuir informações como:
- instruções sobre configuração
- instruções sobre instalação
- instruções sobre como operar o programa
- créditos e agradecimentos
- changelog: relato de mudanças
Lembre-se: quanto mais fácil for de entender o que seu projeto faz, mais fácil será de outras pessoas adotarem.
Apontando seu projeto para o GitHub
- No caso sistema-biblioteca, foi inicializado o repositório Git na maquina local
- Nesse caso nos precisamos apontar os dois repositório
- Você deve criar um repositório no GitHub
git remote add origin <URL do GitHub>
git push -u origin master
Clonando um reposítorio
- Você encontrou um projeto legal e você executar ele na sua máquina
git clone <URL do projeto>
Clonado um repositório e subindo alterações no seu GitHub
- Nesse caso você deve clonar o projeto com o comando git clone fazer a modificações commitar as alterações e executar o comando git push
git clone <URL do projeto>
git push -u origin master
Fazendo fork de um projeto e criando pull requests
- Fork e pull requests são ações utilziadas para contribuir com projetos open source com o github.
- O fork consiste em realizar a cópia de um repositório de alguém aos nossos repositórios.
- O pull request consiste em uma solicitação de integração das nossas modificações com o repositório que realizamos um fork.
Subindo os projetos da faculdade
- Criar a pasta do projeto;
- Criar o arquivo README.md com detalhes do projeto;
- Criar o arquivo .gitginore;
- Criar o um repositório no GitHub para obter a <URL do projeto>;
- Executar os comando do Git para versionar os seus arquivos fontes
- git init
- git add .
- git commit
- Executar o seguinte comandos para subir os aquivos no GitHub
- git add origin <URL do projeto>
- git push origin master
Obrigado
Perguntas
Git e Github para Iniciantes
By Johni Douglas Marangon
Git e Github para Iniciantes
- 1,380