SlideShare uma empresa Scribd logo
1 de 23
Controle de Versão: GIT
O que é controle de versão, e por
que você deve se importar?
1.Alguém já sobrescreveu o código de outra pessoa por acidente e
acabou perdendo as alterações?
2.Tem dificuldades em saber quais as alterações efetuadas em um
sistema, quando foram feitas e quem fez?
3.Tem dificuldade em recuperar o código de uma versão anterior que
está em produção?
4.Tem problemas em manter variações do sistema ao mesmo tempo?
O controle de versão é um sistema que registra as mudanças feitas em um
arquivo ou um conjunto de arquivos ao longo do tempo de forma que você
possa recuperar versões específicas. (Git Book)
GIT
I.Criado para auxiliar o desenvolvimento do kernel do
Linux;
II.Velocidade
III.Design simples
IV.Suporte robusto a desenvolvimento não linear
(milhares de branches paralelos)
V.Totalmente distribuído
VI.Capaz de lidar eficientemente com grandes
projetos como o kernel do Linux (velocidade e volume
de dados)
Alguns conceitos …
•Área de trabalho
–Local onde está o diretório git
–É local
•Repositório
–Onde o git trabalha as modificações
•Remoto
–Repositório git armazenado em um local
compartilhado
Fluxo de Trabalho
•Você modifica arquivos no seu diretório de
trabalho.
•Você seleciona os arquivos, adicionando
snapshots deles para sua área de
preparação.
•Você faz um commit, que leva os arquivos
como eles estão na sua área de preparação
e os armazena permanentemente no seu
diretório Git.
Uso
Instalando Git
1.Em distribuições linux baseadas debian
• apt-get install git
2.Em sistemas windows
• https://git-scm.com/download/win
Configurações inciais
1.$ git config --global user.name "Edilton"
2.$ git config --global user.email
ediltondanniken@gmail.com
Iniciando um repositório
$ git init
Adicionando arquivos para o
versionamento/monitoramento
$ git add <nome_do_arquivo> ou <.> para todos
Consolidando/Validando as alterações
feitas
$ git commit -m 'mensagem'
Clonando/Obtendo de repositório remoto
$ git clone [url]
–$ git clone git@gitlab.com:prodap/caf.git
Verificando status do seus arquivos
–$ git status
# On branch master
nothing to commit, working directory clean
Monitorando Novos Arquivos
$ touch novo_arquivo.txt
$ git add novo_arquivo.txt
Ignorando arquivos
–$ touch .gitignore
# um comentário - isto é ignorado
# sem arquivos terminados em .txt
*.txt
# o arquivo config_banco.php será ignorado
config_banco.php
Verificando mudanças nos aquivos
–$ git diff #lista as mudanças de todos arquivos
rastreados.
–$git diff <arquivo> #lista as mudanças do
arquivo selecionado
Removendo um arquivo
–$ git rm <meu_aquivo>
Movendo um arquivo
–$ git mv arquivo_origem arquivo_destino
Visualizar histórico de commits
–$ git log
commit ca82a6dff817ec66f44342007202690a93763949
Author: Edilton <ediltondanniken@gmail.com>
Date: Mon Mar 17 21:52:11 2008 -0700
Atualizando arquivo de configuração de banco de dados
;)
DESFAZENDO AS COISAS
–Modificando o ultimo commit
• $ git commit –amend
–Desfazendo um arquivo modificado
•$ git checkout meu_arquivo.php
–Removendo arquivo da área de validação
•$ git reset HEAD meu_arquivo.php
Trabalhando com remotos
–Criando novo repositório apartir de um remoto
•$ git clone git@gitlab.com:prodap/caf.git
–Enviando alterações para seu remoto
•$ git push origin master
–Recebendo alterações de seu remoto
•$ git pull origin master
Branch
1.Básico de Branch e Merge
2.Vamos ver um exemplo simples de uso de branch e merge com um fluxo de
trabalho que você pode usar no mundo real. Você seguirá esses passos:
1.Trabalhar em um web site.
2.Criar um branch para uma nova história em que está trabalhando.
3.Trabalhar nesse branch.
4.Nesse etapa, você receberá um telefonema informando que outro problema
crítico existe e precisa de correção. Você fará o seguinte:
1.Voltar ao seu branch de produção.
1.Criar um branch para adicionar a correção.
2.Depois de testado, fazer o merge do branch da correção, e enviar para
produção.
3.Retornar à sua história anterior e continuar trabalhando.
Branch Básico
•Criando um novo branch
–$ git branch criar_nova_tela
•Mudando para meu novo branch
–$ git checkout criar_nova_tela
O que aconteceu?
•Merge básico
A tarefa criar_nova_tela está pronta hora de
atualizar o master
$ git checkout master
$ git merge criar_nova_tela
Tagging
•Assim como a maioria dos VCS's, Git tem a
habilidade de criar tags em pontos
específicos na história do código como
pontos importantes
Comandos
•$ git tag
–Lista as tags de um projeto
•$ git tag -a v1.4 -m 'my version 1.4'
–Cria tags anotadas
• git show v1.4
–Mosta delatlhes de uma tag
• git push origin [nome-tag]
–Envia tags para o repositório remoto
Git - Hooks
•Como muitos outros sistemas de controle
de versão, Git tem uma maneira para
disparar scripts personalizados quando
certas ações importantes ocorrerem.
•.git/hooks.
• pre-commit
• git commit --no-verify
•prepare-commit-msg
•SAIBA MAIS EM
lhttps://git-scm.com/book/pt-br/v1/
lhttp://dev.rbtech.info/curso-controle-
versao-git-aula-1/
lhttps://help.github.com/articles/set-up-git/

Mais conteúdo relacionado

Mais procurados

Git e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson AjacksonGit e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson AjacksonAlysson Ajackson
 
Git - GitHub
Git - GitHubGit - GitHub
Git - GitHubWagner
 
Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Jonathan Célio
 
Git e git hub para iniciantes
Git e git hub para iniciantesGit e git hub para iniciantes
Git e git hub para iniciantesMario Ernesto
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucketMarcio Barbosa
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoWilliam Lima
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git TutorialLucas Brigida
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta gitDiogo Souza Machado
 
Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016Victor Souza
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!Vitor Silva
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com GitRaphael Cruzeiro
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errarBruno Calheira
 
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 2012Mauro George
 

Mais procurados (20)

Git e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson AjacksonGit e Github para Iniciantes by Alysson Ajackson
Git e Github para Iniciantes by Alysson Ajackson
 
Git - GitHub
Git - GitHubGit - GitHub
Git - GitHub
 
Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos Git e Github - Comandos e conceitos básicos
Git e Github - Comandos e conceitos básicos
 
Git v2
Git v2Git v2
Git v2
 
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
Git e GithubGit e Github
Git e Github
 
Controle de versão com Git e BitBucket
Controle de versão com Git e BitBucketControle de versão com Git e BitBucket
Controle de versão com Git e BitBucket
 
Git - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotadoGit - Fluxo do Versionamento adotado
Git - Fluxo do Versionamento adotado
 
Learn about Git - Git Tutorial
Learn about Git - Git TutorialLearn about Git - Git Tutorial
Learn about Git - Git Tutorial
 
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
 
Desmistificando a ferramenta git
Desmistificando a ferramenta gitDesmistificando a ferramenta git
Desmistificando a ferramenta git
 
Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016
 
Controle de versão e colaboração com Git
Controle de versão e colaboração com GitControle de versão e colaboração com Git
Controle de versão e colaboração com Git
 
Git e boas praticas!
Git e boas praticas!Git e boas praticas!
Git e boas praticas!
 
GIT Básico
GIT BásicoGIT Básico
GIT Básico
 
Git do Zero - Campus Party #12
Git do Zero - Campus Party #12Git do Zero - Campus Party #12
Git do Zero - Campus Party #12
 
Controle de versionamento com Git
Controle de versionamento com GitControle de versionamento com Git
Controle de versionamento com Git
 
Use o git e perca o medo de errar
Use o git e perca o medo de errarUse o git e perca o medo de errar
Use o git e perca o medo de errar
 
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
 

Semelhante a Git

Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACDanilo Pinotti
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesLeandro Cavalcante
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Danilo Pinotti
 
Minicurso GIT PET Computação
Minicurso GIT PET ComputaçãoMinicurso GIT PET Computação
Minicurso GIT PET ComputaçãoBruno 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
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubGilson Junior
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao gitDiogo Gomes
 
Git e Gitlab para Iniciantes
Git e Gitlab para IniciantesGit e Gitlab para Iniciantes
Git e Gitlab para IniciantesIgorDiniz22
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareAldson Diego
 
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ânticoDjanilson Alves
 
Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitC. Augusto Proiete
 

Semelhante a Git (20)

Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Git - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de VersõesGit - Sistema Descentralizado de Controle de Versões
Git - Sistema Descentralizado de Controle de Versões
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Introducao ao Git
Introducao ao GitIntroducao ao Git
Introducao ao Git
 
Oficina de Git EEDACT2015
Oficina de Git EEDACT2015Oficina de Git EEDACT2015
Oficina de Git EEDACT2015
 
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
 
Git
GitGit
Git
 
Workshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHubWorkshop de Introdução ao Git GitHub
Workshop de Introdução ao Git GitHub
 
Curso git-0001
Curso git-0001Curso git-0001
Curso git-0001
 
Introdução ao git
Introdução ao gitIntrodução ao git
Introdução ao git
 
Git 101
Git 101Git 101
Git 101
 
Git e Gitlab para Iniciantes
Git e Gitlab para IniciantesGit e Gitlab para Iniciantes
Git e Gitlab para Iniciantes
 
Gerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHubGerenciando projetos com Git e GitHub
Gerenciando projetos com Git e GitHub
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de Software
 
Git Rápido e Fácil
Git Rápido e FácilGit Rápido e Fácil
Git Rápido e Fácil
 
GIT - Hands-On
GIT - Hands-On GIT - Hands-On
GIT - Hands-On
 
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
 
Controlo de Versões Distribuído com Git
Controlo de Versões Distribuído com GitControlo de Versões Distribuído com Git
Controlo de Versões Distribuído com Git
 

Git

  • 2. O que é controle de versão, e por que você deve se importar? 1.Alguém já sobrescreveu o código de outra pessoa por acidente e acabou perdendo as alterações? 2.Tem dificuldades em saber quais as alterações efetuadas em um sistema, quando foram feitas e quem fez? 3.Tem dificuldade em recuperar o código de uma versão anterior que está em produção? 4.Tem problemas em manter variações do sistema ao mesmo tempo? O controle de versão é um sistema que registra as mudanças feitas em um arquivo ou um conjunto de arquivos ao longo do tempo de forma que você possa recuperar versões específicas. (Git Book)
  • 3. GIT I.Criado para auxiliar o desenvolvimento do kernel do Linux; II.Velocidade III.Design simples IV.Suporte robusto a desenvolvimento não linear (milhares de branches paralelos) V.Totalmente distribuído VI.Capaz de lidar eficientemente com grandes projetos como o kernel do Linux (velocidade e volume de dados)
  • 4. Alguns conceitos … •Área de trabalho –Local onde está o diretório git –É local •Repositório –Onde o git trabalha as modificações •Remoto –Repositório git armazenado em um local compartilhado
  • 5. Fluxo de Trabalho •Você modifica arquivos no seu diretório de trabalho. •Você seleciona os arquivos, adicionando snapshots deles para sua área de preparação. •Você faz um commit, que leva os arquivos como eles estão na sua área de preparação e os armazena permanentemente no seu diretório Git.
  • 6.
  • 7. Uso Instalando Git 1.Em distribuições linux baseadas debian • apt-get install git 2.Em sistemas windows • https://git-scm.com/download/win Configurações inciais 1.$ git config --global user.name "Edilton" 2.$ git config --global user.email ediltondanniken@gmail.com
  • 8. Iniciando um repositório $ git init Adicionando arquivos para o versionamento/monitoramento $ git add <nome_do_arquivo> ou <.> para todos Consolidando/Validando as alterações feitas $ git commit -m 'mensagem' Clonando/Obtendo de repositório remoto $ git clone [url] –$ git clone git@gitlab.com:prodap/caf.git
  • 9. Verificando status do seus arquivos –$ git status # On branch master nothing to commit, working directory clean Monitorando Novos Arquivos $ touch novo_arquivo.txt $ git add novo_arquivo.txt
  • 10. Ignorando arquivos –$ touch .gitignore # um comentário - isto é ignorado # sem arquivos terminados em .txt *.txt # o arquivo config_banco.php será ignorado config_banco.php
  • 11. Verificando mudanças nos aquivos –$ git diff #lista as mudanças de todos arquivos rastreados. –$git diff <arquivo> #lista as mudanças do arquivo selecionado Removendo um arquivo –$ git rm <meu_aquivo> Movendo um arquivo –$ git mv arquivo_origem arquivo_destino
  • 12. Visualizar histórico de commits –$ git log commit ca82a6dff817ec66f44342007202690a93763949 Author: Edilton <ediltondanniken@gmail.com> Date: Mon Mar 17 21:52:11 2008 -0700 Atualizando arquivo de configuração de banco de dados ;)
  • 13. DESFAZENDO AS COISAS –Modificando o ultimo commit • $ git commit –amend –Desfazendo um arquivo modificado •$ git checkout meu_arquivo.php –Removendo arquivo da área de validação •$ git reset HEAD meu_arquivo.php
  • 14. Trabalhando com remotos –Criando novo repositório apartir de um remoto •$ git clone git@gitlab.com:prodap/caf.git –Enviando alterações para seu remoto •$ git push origin master –Recebendo alterações de seu remoto •$ git pull origin master
  • 15. Branch 1.Básico de Branch e Merge 2.Vamos ver um exemplo simples de uso de branch e merge com um fluxo de trabalho que você pode usar no mundo real. Você seguirá esses passos: 1.Trabalhar em um web site. 2.Criar um branch para uma nova história em que está trabalhando. 3.Trabalhar nesse branch. 4.Nesse etapa, você receberá um telefonema informando que outro problema crítico existe e precisa de correção. Você fará o seguinte: 1.Voltar ao seu branch de produção. 1.Criar um branch para adicionar a correção. 2.Depois de testado, fazer o merge do branch da correção, e enviar para produção. 3.Retornar à sua história anterior e continuar trabalhando.
  • 17. •Criando um novo branch –$ git branch criar_nova_tela •Mudando para meu novo branch –$ git checkout criar_nova_tela O que aconteceu?
  • 18. •Merge básico A tarefa criar_nova_tela está pronta hora de atualizar o master $ git checkout master $ git merge criar_nova_tela
  • 19. Tagging •Assim como a maioria dos VCS's, Git tem a habilidade de criar tags em pontos específicos na história do código como pontos importantes
  • 20. Comandos •$ git tag –Lista as tags de um projeto •$ git tag -a v1.4 -m 'my version 1.4' –Cria tags anotadas • git show v1.4 –Mosta delatlhes de uma tag • git push origin [nome-tag] –Envia tags para o repositório remoto
  • 21. Git - Hooks •Como muitos outros sistemas de controle de versão, Git tem uma maneira para disparar scripts personalizados quando certas ações importantes ocorrerem.
  • 22. •.git/hooks. • pre-commit • git commit --no-verify •prepare-commit-msg