SlideShare uma empresa Scribd logo
Pablo Machado 
machadoum@mail.com
1. Introdução 
2. Configuração 
3. Primeiros passos 
4. Como tudo funciona? (baixo nível) 
4. Trabalhando com Branchs 
5. Repositórios remotos 
6. WorkFlow 
7. Fiz merda, e agora?
Introdução
Histórico 
Initially designed and developed by Linus Torvalds for Linux 
kernel development in 2005. 
➔ Distribuido 
➔ Alta performance 
➔ Free 
➔ Confiabilidade 
Take CVS as an example of what not to do. 
Significado: "unpleasant person".
"I'm an egotistical bastard, and I name all my projects 
after myself. First 'Linux', now 'git'.
Vantagens 
➔ Trabalhar offline 
➔ Velocidade 
➔ Versionamento local 
➔ Distribuido 
➔ Suporte a grandes projetos 
Um mundo de possibilidades
Distribuido X Centralizado
Configurações
Instalando 
$ apt-get install git 
Usuário 
$ git config --global user.name "Eu" 
$ git config --global user.email meuEmail@examplo.com 
Ferramenta de merge 
$ git config --global merge.tool vimdiff 
Ferramenta de edição de texto 
$ git config --global core.editor emacs 
Alias 
$ git config --global alias.co checkout
Primeiros Passos
➔ git init 
➔ git clone 
➔ git config 
➔ git add 
➔ git commit 
➔ git status 
➔ git log
Meu primeiro commit 
➔ Criar arquivo 
➔ Adicionar arquivo 
➔ Commitar arquivo 
Stash
Status do repositório 
$ git status 
$ git log 
$ git log --pretty=oneline 
$ git diff 
$ git log --pretty=format:"%h %s" --graph 
git log --stat
Git - Visão Geral
Como tudo funciona? 
(baixo nível)
➔ Gerência de estados (snapshots) 
➔ Nada é apagado 
Commit contêm: 
Arvore 
Autor 
Comitador 
Mensagem 
Ponteiro para o commit anterior
Qual é a mágica? 
$ git init 
$ echo “ola mundo” > oi.txt 
$ git add . 
$ git commit -m “meu primeiro commit” 
$ find .git/objects/ -type f | awk -F '/' '{print $3$4}' | git cat-file --batch
Trabalhando com Branchs
Branch / checkout 
Ponteiro para um commit 
Precisa de um nome 
$ git branch 
$ git branch -r 
$ git branch working 
$ git branch -t feature
Merge 
Mescla os commits de 2 branchs 
Algoritmos de Merge 
➔ 3-way merge 
➔ fast-forward merge 
$ git merge branchName
Resolvendo conflitos 
Requisitos: 
➔ 2 branchs com mesma origem 
➔ Realizar alterações conflitantes 
➔ Realizar Merge nos 2 branchs 
$ git merge testeConflito 
$ Auto-merging arquivo.txt 
CONFLICT (content): Merge conflict in arquivo.txt 
Automatic merge failed; fix conflicts and then commit the result. 
$ git mergetool 
$ git commit
Rebase 
Altera o histórico 
Permite apagar commits da história 
$ git rebase master 
$ git rebase -i master
Rebase 
Altera o histórico 
Permite apagar commits da história 
$ git rebase master 
$ git rebase -i master
Remote / Clone 
Adicionar/Editar repositórios remotos 
Protocolos 
➔ Local 
/opt/git/project.git 
➔ SSH 
user@server:project.git 
Git 
git:localhost/your-path/project-X 
➔ HTTP/S 
http://example.com/gitproject.git 
$ git remote add NAME URL 
$ git clone URL 
http://git-scm.com/book/en/Git-on-the-Server-The-Protocols
Fetch / Push / Pull 
$ git fetch <remote> 
$ git fetch <remote> <branch> 
$ git pull <remote> 
$ git push <remote> <branch> 
https://www.atlassian.com/git/tutorial/remote-repositories
Fiz merda, e agora?
Git - Visão Geral
Git - Visão Geral
Git - Visão Geral
Git - Visão Geral
$ git commit --amend 
$ git clean -n 
Dicas
Git - Visão Geral
Git - Visão Geral
Eu quero ser um mestre Jedi! 
http://pcottle.github.io/learnGitBranching/ 
https://www.atlassian.com/git 
Pro Git - Scott Chacon

Mais conteúdo relacionado

PDF
Vagrant + Puppet
PPTX
Aula PIT 3 - Ambientes
PDF
Unix te da asas
PDF
Git na prática - Minicurso III SEICOM
KEY
A busca pelo deploy continuo
ODP
Oficina postgresql basico_consegi2010
PPTX
Automatizando tarefas com bash script
PPTX
Temperatura Zabbix Procedimento Temper Usb
Vagrant + Puppet
Aula PIT 3 - Ambientes
Unix te da asas
Git na prática - Minicurso III SEICOM
A busca pelo deploy continuo
Oficina postgresql basico_consegi2010
Automatizando tarefas com bash script
Temperatura Zabbix Procedimento Temper Usb

Mais procurados (20)

PPTX
Cron Jobs - Linux
PPT
Html5 storage api
PPTX
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
PDF
Docker Swarm - Sua aplicação pronta para escalar
PDF
HOST079 - Docker
PPTX
Git - Não perca o que estava funcionando!
PPTX
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
PDF
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
PDF
Apresentação Bazaar
PDF
Semana Acadêmica ICET - Feevale - 12/04/2014
PDF
Deploy Heroku
PPTX
HA com Wildfly e Kubernetes
PDF
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
PDF
Introdução a worker
PDF
Sistemas operacionais 6
PDF
Construindo sites mais inteligentes com Galeb - Fernando Carolo (Globo.com), ...
PDF
TDC2018SP | Trilha Containers - Linux Conteineres na unha
PDF
Sistemas operacional 9
PDF
Estendendo o kubernetes
ODP
Oficina postgresql avançado_consegi2010
Cron Jobs - Linux
Html5 storage api
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
Docker Swarm - Sua aplicação pronta para escalar
HOST079 - Docker
Git - Não perca o que estava funcionando!
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Apresentação Bazaar
Semana Acadêmica ICET - Feevale - 12/04/2014
Deploy Heroku
HA com Wildfly e Kubernetes
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
Introdução a worker
Sistemas operacionais 6
Construindo sites mais inteligentes com Galeb - Fernando Carolo (Globo.com), ...
TDC2018SP | Trilha Containers - Linux Conteineres na unha
Sistemas operacional 9
Estendendo o kubernetes
Oficina postgresql avançado_consegi2010
Anúncio

Destaque (17)

PDF
Curso Java Web
PDF
Linux network administration | Curso de Redes | 3Way Networks
ODP
Redes de computadores II - 4.Camada de Transporte TCP e UDP
PDF
Aula 09 - introducao oo
PDF
Tecnologia java para sockets
PDF
Versionamento Ágil com Git
PPTX
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
PDF
Linguagem Java OO | Curso 3WAY Networks
PDF
Linux System Administrator | Curso de Redes | 3Way Networks
PDF
JSF com Primefaces
PDF
TCP/IP Layers
PDF
Tutorial JSF 2.0 (2012)
PDF
Construindo aplicações web java com netbeans
PDF
3way curso-formacao-java-web-completo
PDF
Java Web - MVC básico com JSP e Servlets
PDF
Apostila Java Web com JSF, JPA e Primefaces
Curso Java Web
Linux network administration | Curso de Redes | 3Way Networks
Redes de computadores II - 4.Camada de Transporte TCP e UDP
Aula 09 - introducao oo
Tecnologia java para sockets
Versionamento Ágil com Git
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
Linguagem Java OO | Curso 3WAY Networks
Linux System Administrator | Curso de Redes | 3Way Networks
JSF com Primefaces
TCP/IP Layers
Tutorial JSF 2.0 (2012)
Construindo aplicações web java com netbeans
3way curso-formacao-java-web-completo
Java Web - MVC básico com JSP e Servlets
Apostila Java Web com JSF, JPA e Primefaces
Anúncio

Semelhante a Git - Visão Geral (20)

PDF
Minicurso GIT Completo (2022)
PDF
Controle de versionamento com Git
PPT
Git e GitHub - Conceitos Básicos
PDF
Controle de Versões com Git
PDF
Minicurso GIT 2022 - SENAC
KEY
Git para quem vem do SVN
PPTX
O Fantástico Mundo de Git
PDF
Introdução ao Git
PDF
Git e GitHub
PPTX
Conhecendo o git.
PDF
Controle de versão com git
PDF
Minicurso GIT PET Computação
PPTX
Introdução ao git
ODP
Git Rápido e Fácil
DOCX
Git flow no projeto
ODP
Introdução ao git
ODP
Introdução ao git e github
PDF
Ferramenta git
PDF
github-git-cheat-sheet.pdf
PDF
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019
Minicurso GIT Completo (2022)
Controle de versionamento com Git
Git e GitHub - Conceitos Básicos
Controle de Versões com Git
Minicurso GIT 2022 - SENAC
Git para quem vem do SVN
O Fantástico Mundo de Git
Introdução ao Git
Git e GitHub
Conhecendo o git.
Controle de versão com git
Minicurso GIT PET Computação
Introdução ao git
Git Rápido e Fácil
Git flow no projeto
Introdução ao git
Introdução ao git e github
Ferramenta git
github-git-cheat-sheet.pdf
Git em pequenos projetos - Sandro Custódio - Tchelinux Livramento 2019

Último (11)

PDF
Jira Software projetos completos com scrum
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Eng. Software - pontos essenciais para o início
PDF
Manejo integrado de pragas na cultura do algodão
PPT
Conceitos básicos de Redes Neurais Artificiais
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Utilizando code blockes por andre backes
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Jira Software projetos completos com scrum
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Eng. Software - pontos essenciais para o início
Manejo integrado de pragas na cultura do algodão
Conceitos básicos de Redes Neurais Artificiais
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Tipos de servidor em redes de computador.pptx
Utilizando code blockes por andre backes
Viasol Energia Solar -Soluções para geração e economia de energia
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Proposta de Implementação de uma Rede de Computador Cabeada.pptx

Git - Visão Geral

  • 2. 1. Introdução 2. Configuração 3. Primeiros passos 4. Como tudo funciona? (baixo nível) 4. Trabalhando com Branchs 5. Repositórios remotos 6. WorkFlow 7. Fiz merda, e agora?
  • 4. Histórico Initially designed and developed by Linus Torvalds for Linux kernel development in 2005. ➔ Distribuido ➔ Alta performance ➔ Free ➔ Confiabilidade Take CVS as an example of what not to do. Significado: "unpleasant person".
  • 5. "I'm an egotistical bastard, and I name all my projects after myself. First 'Linux', now 'git'.
  • 6. Vantagens ➔ Trabalhar offline ➔ Velocidade ➔ Versionamento local ➔ Distribuido ➔ Suporte a grandes projetos Um mundo de possibilidades
  • 9. Instalando $ apt-get install git Usuário $ git config --global user.name "Eu" $ git config --global user.email meuEmail@examplo.com Ferramenta de merge $ git config --global merge.tool vimdiff Ferramenta de edição de texto $ git config --global core.editor emacs Alias $ git config --global alias.co checkout
  • 11. ➔ git init ➔ git clone ➔ git config ➔ git add ➔ git commit ➔ git status ➔ git log
  • 12. Meu primeiro commit ➔ Criar arquivo ➔ Adicionar arquivo ➔ Commitar arquivo Stash
  • 13. Status do repositório $ git status $ git log $ git log --pretty=oneline $ git diff $ git log --pretty=format:"%h %s" --graph git log --stat
  • 15. Como tudo funciona? (baixo nível)
  • 16. ➔ Gerência de estados (snapshots) ➔ Nada é apagado Commit contêm: Arvore Autor Comitador Mensagem Ponteiro para o commit anterior
  • 17. Qual é a mágica? $ git init $ echo “ola mundo” > oi.txt $ git add . $ git commit -m “meu primeiro commit” $ find .git/objects/ -type f | awk -F '/' '{print $3$4}' | git cat-file --batch
  • 19. Branch / checkout Ponteiro para um commit Precisa de um nome $ git branch $ git branch -r $ git branch working $ git branch -t feature
  • 20. Merge Mescla os commits de 2 branchs Algoritmos de Merge ➔ 3-way merge ➔ fast-forward merge $ git merge branchName
  • 21. Resolvendo conflitos Requisitos: ➔ 2 branchs com mesma origem ➔ Realizar alterações conflitantes ➔ Realizar Merge nos 2 branchs $ git merge testeConflito $ Auto-merging arquivo.txt CONFLICT (content): Merge conflict in arquivo.txt Automatic merge failed; fix conflicts and then commit the result. $ git mergetool $ git commit
  • 22. Rebase Altera o histórico Permite apagar commits da história $ git rebase master $ git rebase -i master
  • 23. Rebase Altera o histórico Permite apagar commits da história $ git rebase master $ git rebase -i master
  • 24. Remote / Clone Adicionar/Editar repositórios remotos Protocolos ➔ Local /opt/git/project.git ➔ SSH user@server:project.git Git git:localhost/your-path/project-X ➔ HTTP/S http://example.com/gitproject.git $ git remote add NAME URL $ git clone URL http://git-scm.com/book/en/Git-on-the-Server-The-Protocols
  • 25. Fetch / Push / Pull $ git fetch <remote> $ git fetch <remote> <branch> $ git pull <remote> $ git push <remote> <branch> https://www.atlassian.com/git/tutorial/remote-repositories
  • 26. Fiz merda, e agora?
  • 31. $ git commit --amend $ git clean -n Dicas
  • 34. Eu quero ser um mestre Jedi! http://pcottle.github.io/learnGitBranching/ https://www.atlassian.com/git Pro Git - Scott Chacon