SlideShare uma empresa Scribd logo
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.
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

PPTX
Controle de versão com e git
PDF
Aprendendo Git
PDF
Introdução ao GitHub e Git
KEY
Git para quem vem do SVN
PDF
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
PPTX
PPT
Git e GitHub - Conceitos Básicos
PPTX
Controle de versão com e git
Aprendendo Git
Introdução ao GitHub e Git
Git para quem vem do SVN
Controle de Versão com Git e como Otimizar seu Workflow com Git Flow
Git e GitHub - Conceitos Básicos

Mais procurados (20)

PDF
Git e Github para Iniciantes by Alysson Ajackson
ODP
Git - GitHub
PDF
Git e Github - Comandos e conceitos básicos
PPTX
PDF
Git e git hub para iniciantes
PDF
PDF
Controle de versão com Git e BitBucket
PPTX
Git - Fluxo do Versionamento adotado
PDF
Learn about Git - Git Tutorial
PDF
Git e GitHub
PDF
Introdução ao Git
PPTX
Desmistificando a ferramenta git
PDF
Introdução ao Git - Semac 2016
PDF
Controle de versão e colaboração com Git
PPSX
Git e boas praticas!
PDF
GIT Básico
PPTX
Git do Zero - Campus Party #12
PDF
Controle de versionamento com Git
PDF
Use o git e perca o medo de errar
PDF
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Git e Github para Iniciantes by Alysson Ajackson
Git - GitHub
Git e Github - Comandos e conceitos básicos
Git e git hub para iniciantes
Controle de versão com Git e BitBucket
Git - Fluxo do Versionamento adotado
Learn about Git - Git Tutorial
Git e GitHub
Introdução ao Git
Desmistificando a ferramenta git
Introdução ao Git - Semac 2016
Controle de versão e colaboração com Git
Git e boas praticas!
GIT Básico
Git do Zero - Campus Party #12
Controle de versionamento com Git
Use o git e perca o medo de errar
Git para iniciantes v1.3.0 @ PHP Conference Brasil 2012
Anúncio

Semelhante a Git (20)

PDF
Minicurso GIT 2022 - SENAC
PDF
Aula de git luiza code - Slides git e github
PPTX
Git - Sistema Descentralizado de Controle de Versões
PDF
Minicurso GIT Completo (2022)
PDF
Introducao ao Git
PDF
Oficina de Git EEDACT2015
PDF
GitHub_versao2024-githubGitHub_versao2024-github
PDF
Minicurso GIT PET Computação
PDF
Controle de Versão Distribuído com Git básico
PPTX
Workshop de Introdução ao Git GitHub
PDF
Curso git-0001
PPTX
Introdução ao git
PDF
Git 101
PDF
Git e Gitlab para Iniciantes
PPTX
Gestão de Projectos: Controlo de Versão Git - Introdução Updated
PPTX
Gerenciando projetos com Git e GitHub
PDF
Controle de versão de software utilizando o GIT
PPTX
Primeiros passos - GIT
PDF
EIIFRO2014 - Desenvolvimento Colaborativo de Software
Minicurso GIT 2022 - SENAC
Aula de git luiza code - Slides git e github
Git - Sistema Descentralizado de Controle de Versões
Minicurso GIT Completo (2022)
Introducao ao Git
Oficina de Git EEDACT2015
GitHub_versao2024-githubGitHub_versao2024-github
Minicurso GIT PET Computação
Controle de Versão Distribuído com Git básico
Workshop de Introdução ao Git GitHub
Curso git-0001
Introdução ao git
Git 101
Git e Gitlab para Iniciantes
Gestão de Projectos: Controlo de Versão Git - Introdução Updated
Gerenciando projetos com Git e GitHub
Controle de versão de software utilizando o GIT
Primeiros passos - GIT
EIIFRO2014 - Desenvolvimento Colaborativo de Software
Anúncio

Último (19)

PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Aula 18 - Manipulacao De Arquivos python
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
COBITxITIL-Entenda as diferença em uso governança TI
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Apple Pippin Uma breve introdução. - David Glotz
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Processos na gestão de transportes, TM100 Col18
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Aula04-Academia Heri- Tecnologia Geral 2025
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Custos e liquidação no SAP Transportation Management, TM130 Col18
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Aula 18 - Manipulacao De Arquivos python
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...

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.
  • 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