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,269