SlideShare uma empresa Scribd logo
Oficina
Git/GitHub
Por Sérgio Silva
O que vamos fazer?
•   Website GitHub
•   Criando Conta
•   Corporação, Time, Diretórios Privates
3
•   Criando repositório de trabalho
•   Conceito de Master e Branch (Fluxo de Trabalho)
•   Populando repositório
•   Iniciando diretório na sua maquina
•   Clonando um repositório
•   O que é Fork
•   Recebendo modificações do servidor (pull)
•   Adicionar e Remover
4
•   Salvando modificações localmente (commit)
•   Enviando modificações para o servidor (push)
•   Sinalizando versão estável (tag)
•   Desfazendo modificações (reset)
•   Verificar status de repositório
5
Não vamos fazer, mas podemos:
1.  Voltar o diretório para um commit específico
2.  Espurgar commits de um único membro do time
3.  Controlar permissões por time
6
Website
Criando Conta
Corporação,
Time, Diretórios
Privados
Repositório
Clonando diretório para a máquina
•   Primeiro crie o diretório no Github
•   Agora é necessário inicializar o diretório em sua máquina
•   Verifique se o git esta instalado (Unix)
$ apt-get install git
$ yum install git-core
01.
02.
12
Fluxo de
Trabalho
Git Code Tree
Como funciona o git?
https://developer.github.com/v3/git/trees/
Fluxo de Trabalho
•   O que é a Master
•   O que é uma Branch
•   Para que serve uma Branch
•   Cuidados que devemos ter (controle avançado)
1.  Ao trocar de Branch
2.  Ao fazer merge
3.  Ao reverter uma modificação (commit)
15
Antes de
qualquer coisa
Informe seu usuário e senha no
terminal
•   Se não você não conseguirá enviar nenhuma alteração
•   É arriscado enviar alterações como usuário anônimo e depois terá
problemas
•   Veja a sintaxe de cada comando:
$ git config --global user.name "John Doe"
•   Você informou seu nome!
17
...
•   Agora informe seu email:
$ git config --global user.email johndoe@example.com
•   Você informou seu email!
•   A senha sempre será pedida quando você enviar uma informação ao
servidor!
18
Inicializando
Repositório
Em sua máquina...
•   É necessário inicializar o diretório que receberá a aplicação
•   Mas você também pode ao invés de inicializar, CLONAR o diretório
•   Veja a sintaxe de cada comando:
$ git init
•   Este comando deve ser executado no diretório que você deseja
versionar!
20
Clonando...
•   Ou efetuando a clonagem de um diretório já criado em seu repositório
•   Veja a sintaxe de cada comando:
$ git clone /caminho/para/o/repositório
•   ou
$ git clone usuário@servidor:/caminho/para/o/repositório
21
Onde eu pego o endereço para
clonagem?
•   Depois de criado e inicializado la no GitHub
•   Você pode copiar o endereço do diretório
•   Como indicado na figura a seguir
22
Agora é só alegria!
•   Depois de copiado o link, agora é só incluir o comando git clone
•   O comando ficará:
$ git clone https://github.com/J2MTecnologia/flisol_2014-oficin
•   Agora é só aguardar o processo de clonagem!
24
Importante:
•   Em diretórios privados (private) talvez você precise informar seu
usuário e senha
25
Populando
Repositório
Durante seu fluxo de trabalho
•   Alterei um ou mais arquivos
•   Verifico quais eu alterei
$ git status
•   Adiciono a alteração
$ git add &<arquivo>
$ git add *
$ git add --all
01.
02.
03.
27
...
•   Comito minhas modificações
$ git commit -m "comentários das alterações"
•   Alteração enviada (localmente)
28
Enviando
modificações
...
•   Comando de envio remoto
$ git push origin master
•   Alterações enviadas (remotamente)
30
...
•   Caso não tenha clonado o diretório ainda
$ git remote add origin &<servidor>
•   Efetuando cópia remota
31
Ramificação
...
•   Criando uma nova branch chamada "funcionalidade_y"
$ git checkout -b funcionalidade_x
$ git checkout master
•   neste mesmo comando já seleciona para utilização
01.
02.
34
...
•   Removendo a branch
$ git branch -d funcionalidade_x
•   um branch não está disponível a outros a menos que você envie o
branch para seu repositório remoto
$ git push origin &<funcionalidade_x>
35
Atualizar
...
•   Sempre antes de começar seu trabalho
$ git pull
37
Comparação
Comparando uma branch com a
outra
•   Sempre antes de começar seu trabalho
$ git diff &<branch origem> &<branch destino>
39
Rotular
Versão estável de uma release
•   Serve para dizer que naquele ponto do meu projeto, lancei uma versão
estável
$ git tag 1.0.0 1b2e1d63ff
41
Obtendo log do Git
•   Para obter o id do commit, basta efetuar o seguinte comando:
$ git log
•   Também serve para informar tudo que foi feito naquela sessão ativa
42
Sobrescrevendo
Alterações
Otendo log do Git
•   No caso de você ter feito algo errado (que seguramente nunca
acontece ;) você pode sobrescrever as alterações locais usando o
commando
$ git checkout -- &<arquivo>
$ git reset --all
•   Também serve para informar tudo que foi feito naquela sessão ativa
01.
02.
44
Mãos à Obra
Parte 1
1.  Crie uma organização com o nome de EEDACT2015 em sua conta
2.  Crie um repositório dentro da sua organização com o nome de aula de
Git
•   Não esqueça de criar com o README.md
1.  Clone este repositório para sua máquina
2.  Popule seu repositório clonado com o arquivo index.html
3.  Escreva 2 paragrafos no arquivo HTML e salve o arquivo.
46
...Continuação
1.  Adicione o arquivo que foi editado para que ele possa ser incorporado
ao seu repositório remoto, utilizando o comando git add
2.  Comite o arquivo e diga o que você editou nele
•   Utilize o parâmetro -m para colocar um comentário
1.  Envie o arquivo para para o seu diretório remoto
47
Parte 2
1.  Crie uma nova branch cujo o nome será "design"
2.  Nesta branch, crie a pasta css e crie um arquivo de estilo e escreva a
linha recomendada pelo instrututor
3.  Envie as modificações feitas com os comandos add, commit e push
4.  Verifique se os arquivos foram devidamente enviados ao seu
repositório
48
Bibliografias
1.  GIT - GUIA PRÁTICO
http://rogerdudler.github.io/git-guide/index.pt_BR.html
2.  Git
http://git-scm.com/
3.  Node GH - All the power of GitHub in your terminal
http://nodegh.io/
4.  Try Git - Simule Comandos do Terminal Git
https://try.github.io
49
Créditos
1.  Sérgio Bezerra da Silva
Perfil do Facebook | Perfil Github | Studio Sttark - Gráfico & Digital |
sergio.silva.unb@gmail.com
50
Oficina de Git EEDACT2015

Mais conteúdo relacionado

Mais procurados

Aprendendo Git
Aprendendo GitAprendendo Git
Aprendendo Git
Bismarck Gomes
 
Git e git hub para iniciantes
Git e git hub para iniciantesGit e git hub para iniciantes
Git e git hub para iniciantes
Mario Ernesto
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
Henrique Silvestre Souza
 
Git workshop
Git workshopGit workshop
Git workshop
Yuri Reis
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
Leonardo Marcelino
 
Git - GitHub
Git - GitHubGit - GitHub
Git - GitHub
Wagner
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
Oto Junior
 
Git e Github
Git e GithubGit e Github
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
Walmyr Carvalho
 
Git
GitGit
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
Daniel Destro Do Carmo
 
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Mauro George
 
Introdução ao Git
Introdução ao Git   Introdução ao Git
Introdução ao Git
Eduardo D'Avila
 
Git that like a boss: UFRGS
Git that like a boss: UFRGSGit that like a boss: UFRGS
Git that like a boss: UFRGS
Evandro Eisinger
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
Diogo Souza Machado
 
GIT - Hands-On
GIT - Hands-On GIT - Hands-On
GIT - Hands-On
inovacaoDBServer
 
Git
GitGit
Processo de desenvolvimento na samba
Processo de desenvolvimento na sambaProcesso de desenvolvimento na samba
Processo de desenvolvimento na sambajoaogmaciel
 
Mercurial - Douglas Schilling Landgraf e Fábio Olivé
Mercurial - Douglas Schilling Landgraf e Fábio OlivéMercurial - Douglas Schilling Landgraf e Fábio Olivé
Mercurial - Douglas Schilling Landgraf e Fábio OlivéTchelinux
 

Mais procurados (20)

Aprendendo Git
Aprendendo GitAprendendo Git
Aprendendo Git
 
Git e git hub para iniciantes
Git e git hub para iniciantesGit e git hub para iniciantes
Git e git hub para iniciantes
 
Git e GitHub - Conceitos Básicos
Git e GitHub - Conceitos BásicosGit e GitHub - Conceitos Básicos
Git e GitHub - Conceitos Básicos
 
Git workshop
Git workshopGit workshop
Git workshop
 
Git e GitHub
Git e GitHubGit e GitHub
Git e GitHub
 
Git - GitHub
Git - GitHubGit - GitHub
Git - GitHub
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Git e Github
Git e GithubGit e Github
Git e Github
 
Introdução ao Git
Introdução ao GitIntrodução ao Git
Introdução ao Git
 
Git
GitGit
Git
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
 
Introdução ao Git
Introdução ao Git   Introdução ao Git
Introdução ao Git
 
Git that like a boss: UFRGS
Git that like a boss: UFRGSGit that like a boss: UFRGS
Git that like a boss: UFRGS
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
 
GIT - Hands-On
GIT - Hands-On GIT - Hands-On
GIT - Hands-On
 
Git
GitGit
Git
 
Git
GitGit
Git
 
Processo de desenvolvimento na samba
Processo de desenvolvimento na sambaProcesso de desenvolvimento na samba
Processo de desenvolvimento na samba
 
Mercurial - Douglas Schilling Landgraf e Fábio Olivé
Mercurial - Douglas Schilling Landgraf e Fábio OlivéMercurial - Douglas Schilling Landgraf e Fábio Olivé
Mercurial - Douglas Schilling Landgraf e Fábio Olivé
 

Semelhante a Oficina de Git EEDACT2015

Git
GitGit
Git 101
Git 101Git 101
Git 101
ngmachado
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
Danilo Pinotti
 
Mini curso Git - 2º dia
Mini curso Git - 2º diaMini curso Git - 2º dia
Mini curso Git - 2º diaArmando Couto
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de Software
Aldson Diego
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
Tiago Antônio da Silva
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
Claudinei Brito Junior
 
GIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento SemânticoGIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento Semântico
Djanilson Alves
 
Github para colaboradores livres
Github para colaboradores livresGithub para colaboradores livres
Github para colaboradores livres
Thiago Sciotta
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
Bruno Orlandi
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoFabricio Nogueira
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
Diogo Gomes
 
Descomplicando o controle de versão com git
Descomplicando o controle de versão com gitDescomplicando o controle de versão com git
Descomplicando o controle de versão com git
Humberto Streb
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
Danilo Pinotti
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
William Lima
 
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Tchelinux
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
Stefan Horochovec
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
Vitor Silva
 
Git flow no projeto
Git flow no projetoGit flow no projeto
Git flow no projeto
Carlos Anders
 

Semelhante a Oficina de Git EEDACT2015 (20)

Git
GitGit
Git
 
Git 101
Git 101Git 101
Git 101
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Mini curso Git - 2º dia
Mini curso Git - 2º diaMini curso Git - 2º dia
Mini curso Git - 2º dia
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de Software
 
Git e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código FácilGit e GitHub: Versionamento de Código Fácil
Git e GitHub: Versionamento de Código Fácil
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
GIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento SemânticoGIT - Gerenciamento de Projeto e Versionamento Semântico
GIT - Gerenciamento de Projeto e Versionamento Semântico
 
Github para colaboradores livres
Github para colaboradores livresGithub para colaboradores livres
Github para colaboradores livres
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET Computação
 
Controle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básicoControle de Versão Distribuído com Git básico
Controle de Versão Distribuído com Git básico
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
Descomplicando o controle de versão com git
Descomplicando o controle de versão com gitDescomplicando o controle de versão com git
Descomplicando o controle de versão com git
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
 
Git flow no projeto
Git flow no projetoGit flow no projeto
Git flow no projeto
 

Oficina de Git EEDACT2015

  • 2.
  • 3. O que vamos fazer? •   Website GitHub •   Criando Conta •   Corporação, Time, Diretórios Privates 3
  • 4. •   Criando repositório de trabalho •   Conceito de Master e Branch (Fluxo de Trabalho) •   Populando repositório •   Iniciando diretório na sua maquina •   Clonando um repositório •   O que é Fork •   Recebendo modificações do servidor (pull) •   Adicionar e Remover 4
  • 5. •   Salvando modificações localmente (commit) •   Enviando modificações para o servidor (push) •   Sinalizando versão estável (tag) •   Desfazendo modificações (reset) •   Verificar status de repositório 5
  • 6. Não vamos fazer, mas podemos: 1.  Voltar o diretório para um commit específico 2.  Espurgar commits de um único membro do time 3.  Controlar permissões por time 6
  • 8.
  • 12. Clonando diretório para a máquina •   Primeiro crie o diretório no Github •   Agora é necessário inicializar o diretório em sua máquina •   Verifique se o git esta instalado (Unix) $ apt-get install git $ yum install git-core 01. 02. 12
  • 14. Git Code Tree Como funciona o git? https://developer.github.com/v3/git/trees/
  • 15. Fluxo de Trabalho •   O que é a Master •   O que é uma Branch •   Para que serve uma Branch •   Cuidados que devemos ter (controle avançado) 1.  Ao trocar de Branch 2.  Ao fazer merge 3.  Ao reverter uma modificação (commit) 15
  • 17. Informe seu usuário e senha no terminal •   Se não você não conseguirá enviar nenhuma alteração •   É arriscado enviar alterações como usuário anônimo e depois terá problemas •   Veja a sintaxe de cada comando: $ git config --global user.name "John Doe" •   Você informou seu nome! 17
  • 18. ... •   Agora informe seu email: $ git config --global user.email johndoe@example.com •   Você informou seu email! •   A senha sempre será pedida quando você enviar uma informação ao servidor! 18
  • 20. Em sua máquina... •   É necessário inicializar o diretório que receberá a aplicação •   Mas você também pode ao invés de inicializar, CLONAR o diretório •   Veja a sintaxe de cada comando: $ git init •   Este comando deve ser executado no diretório que você deseja versionar! 20
  • 21. Clonando... •   Ou efetuando a clonagem de um diretório já criado em seu repositório •   Veja a sintaxe de cada comando: $ git clone /caminho/para/o/repositório •   ou $ git clone usuário@servidor:/caminho/para/o/repositório 21
  • 22. Onde eu pego o endereço para clonagem? •   Depois de criado e inicializado la no GitHub •   Você pode copiar o endereço do diretório •   Como indicado na figura a seguir 22
  • 23.
  • 24. Agora é só alegria! •   Depois de copiado o link, agora é só incluir o comando git clone •   O comando ficará: $ git clone https://github.com/J2MTecnologia/flisol_2014-oficin •   Agora é só aguardar o processo de clonagem! 24
  • 25. Importante: •   Em diretórios privados (private) talvez você precise informar seu usuário e senha 25
  • 27. Durante seu fluxo de trabalho •   Alterei um ou mais arquivos •   Verifico quais eu alterei $ git status •   Adiciono a alteração $ git add &<arquivo> $ git add * $ git add --all 01. 02. 03. 27
  • 28. ... •   Comito minhas modificações $ git commit -m "comentários das alterações" •   Alteração enviada (localmente) 28
  • 30. ... •   Comando de envio remoto $ git push origin master •   Alterações enviadas (remotamente) 30
  • 31. ... •   Caso não tenha clonado o diretório ainda $ git remote add origin &<servidor> •   Efetuando cópia remota 31
  • 33.
  • 34. ... •   Criando uma nova branch chamada "funcionalidade_y" $ git checkout -b funcionalidade_x $ git checkout master •   neste mesmo comando já seleciona para utilização 01. 02. 34
  • 35. ... •   Removendo a branch $ git branch -d funcionalidade_x •   um branch não está disponível a outros a menos que você envie o branch para seu repositório remoto $ git push origin &<funcionalidade_x> 35
  • 37. ... •   Sempre antes de começar seu trabalho $ git pull 37
  • 39. Comparando uma branch com a outra •   Sempre antes de começar seu trabalho $ git diff &<branch origem> &<branch destino> 39
  • 41. Versão estável de uma release •   Serve para dizer que naquele ponto do meu projeto, lancei uma versão estável $ git tag 1.0.0 1b2e1d63ff 41
  • 42. Obtendo log do Git •   Para obter o id do commit, basta efetuar o seguinte comando: $ git log •   Também serve para informar tudo que foi feito naquela sessão ativa 42
  • 44. Otendo log do Git •   No caso de você ter feito algo errado (que seguramente nunca acontece ;) você pode sobrescrever as alterações locais usando o commando $ git checkout -- &<arquivo> $ git reset --all •   Também serve para informar tudo que foi feito naquela sessão ativa 01. 02. 44
  • 46. Parte 1 1.  Crie uma organização com o nome de EEDACT2015 em sua conta 2.  Crie um repositório dentro da sua organização com o nome de aula de Git •   Não esqueça de criar com o README.md 1.  Clone este repositório para sua máquina 2.  Popule seu repositório clonado com o arquivo index.html 3.  Escreva 2 paragrafos no arquivo HTML e salve o arquivo. 46
  • 47. ...Continuação 1.  Adicione o arquivo que foi editado para que ele possa ser incorporado ao seu repositório remoto, utilizando o comando git add 2.  Comite o arquivo e diga o que você editou nele •   Utilize o parâmetro -m para colocar um comentário 1.  Envie o arquivo para para o seu diretório remoto 47
  • 48. Parte 2 1.  Crie uma nova branch cujo o nome será "design" 2.  Nesta branch, crie a pasta css e crie um arquivo de estilo e escreva a linha recomendada pelo instrututor 3.  Envie as modificações feitas com os comandos add, commit e push 4.  Verifique se os arquivos foram devidamente enviados ao seu repositório 48
  • 49. Bibliografias 1.  GIT - GUIA PRÁTICO http://rogerdudler.github.io/git-guide/index.pt_BR.html 2.  Git http://git-scm.com/ 3.  Node GH - All the power of GitHub in your terminal http://nodegh.io/ 4.  Try Git - Simule Comandos do Terminal Git https://try.github.io 49
  • 50. Créditos 1.  Sérgio Bezerra da Silva Perfil do Facebook | Perfil Github | Studio Sttark - Gráfico & Digital | sergio.silva.unb@gmail.com 50