SlideShare uma empresa Scribd logo
1 de 34
Baixar para ler offline
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
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 commit --amend 
$ git clean -n 
Dicas
Eu quero ser um mestre Jedi! 
http://pcottle.github.io/learnGitBranching/ 
https://www.atlassian.com/git 
Pro Git - Scott Chacon

Mais conteúdo relacionado

Mais procurados

Html5 storage api
Html5 storage apiHtml5 storage api
Html5 storage apiSuissa
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - .NET SP...Renato Groff
 
Docker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalarDocker Swarm - Sua aplicação pronta para escalar
Docker Swarm - Sua aplicação pronta para escalargustavomtborges
 
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...
ASP.NET Core + Kubernetes + Azure: Orquestrando containers na nuvem - Develop...Renato Groff
 
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...Felipe Blini
 
Apresentação Bazaar
Apresentação BazaarApresentação Bazaar
Apresentação BazaarBruno Furtado
 
Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Semana Acadêmica ICET - Feevale - 12/04/2014
Semana Acadêmica ICET - Feevale - 12/04/2014Getup Cloud
 
Deploy Heroku
Deploy HerokuDeploy Heroku
Deploy HerokuCreditas
 
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemasTDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemastdc-globalcode
 
Sistemas operacionais 6
Sistemas operacionais 6Sistemas operacionais 6
Sistemas operacionais 6Nauber Gois
 
Construindo sites mais inteligentes com Galeb - Fernando Carolo (Globo.com), ...
Construindo sites mais inteligentes com Galeb - Fernando Carolo (Globo.com), ...Construindo sites mais inteligentes com Galeb - Fernando Carolo (Globo.com), ...
Construindo sites mais inteligentes com Galeb - Fernando Carolo (Globo.com), ...WeOp - The Operations Summit
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhatdc-globalcode
 
Sistemas operacional 9
Sistemas operacional 9Sistemas operacional 9
Sistemas operacional 9Nauber Gois
 
Estendendo o kubernetes
Estendendo o kubernetesEstendendo o kubernetes
Estendendo o kubernetesRicardo Katz
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Fabrízio Mello
 

Mais procurados (20)

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

Destaque

Linux network administration | Curso de Redes | 3Way Networks
Linux network administration | Curso de Redes | 3Way NetworksLinux network administration | Curso de Redes | 3Way Networks
Linux network administration | Curso de Redes | 3Way Networks3Way Networks
 
Redes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDPRedes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDPMauro Tapajós
 
Tecnologia java para sockets
Tecnologia java para socketsTecnologia java para sockets
Tecnologia java para socketslucascsoliveira
 
Versionamento Ágil com Git
Versionamento Ágil com GitVersionamento Ágil com Git
Versionamento Ágil com Gitelliando dias
 
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaJSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaFrederico Maia Arantes
 
Linguagem Java OO | Curso 3WAY Networks
Linguagem Java OO | Curso 3WAY NetworksLinguagem Java OO | Curso 3WAY Networks
Linguagem Java OO | Curso 3WAY Networks3Way Networks
 
Linux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way NetworksLinux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way Networks3Way Networks
 
JSF com Primefaces
JSF com PrimefacesJSF com Primefaces
JSF com PrimefacesFabio Noth
 
Construindo aplicações web java com netbeans
Construindo aplicações web java com netbeansConstruindo aplicações web java com netbeans
Construindo aplicações web java com netbeansSliedesharessbarbosa
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsEduardo Mendes
 
Apostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e PrimefacesApostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e PrimefacesRosicleia Frasson
 

Destaque (17)

Curso Java Web
Curso Java WebCurso Java Web
Curso Java Web
 
Linux network administration | Curso de Redes | 3Way Networks
Linux network administration | Curso de Redes | 3Way NetworksLinux network administration | Curso de Redes | 3Way Networks
Linux network administration | Curso de Redes | 3Way Networks
 
Redes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDPRedes de computadores II - 4.Camada de Transporte TCP e UDP
Redes de computadores II - 4.Camada de Transporte TCP e UDP
 
Aula 09 - introducao oo
Aula 09 - introducao ooAula 09 - introducao oo
Aula 09 - introducao oo
 
Git
GitGit
Git
 
Tecnologia java para sockets
Tecnologia java para socketsTecnologia java para sockets
Tecnologia java para sockets
 
Versionamento Ágil com Git
Versionamento Ágil com GitVersionamento Ágil com Git
Versionamento Ágil com Git
 
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do GojavaJSF 2 e Primefaces - 4º Encontro Mensal do Gojava
JSF 2 e Primefaces - 4º Encontro Mensal do Gojava
 
Linguagem Java OO | Curso 3WAY Networks
Linguagem Java OO | Curso 3WAY NetworksLinguagem Java OO | Curso 3WAY Networks
Linguagem Java OO | Curso 3WAY Networks
 
Linux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way NetworksLinux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way Networks
 
JSF com Primefaces
JSF com PrimefacesJSF com Primefaces
JSF com Primefaces
 
TCP/IP Layers
TCP/IP LayersTCP/IP Layers
TCP/IP Layers
 
Tutorial JSF 2.0 (2012)
Tutorial JSF 2.0 (2012)Tutorial JSF 2.0 (2012)
Tutorial JSF 2.0 (2012)
 
Construindo aplicações web java com netbeans
Construindo aplicações web java com netbeansConstruindo aplicações web java com netbeans
Construindo aplicações web java com netbeans
 
3way curso-formacao-java-web-completo
3way curso-formacao-java-web-completo3way curso-formacao-java-web-completo
3way curso-formacao-java-web-completo
 
Java Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e ServletsJava Web - MVC básico com JSP e Servlets
Java Web - MVC básico com JSP e Servlets
 
Apostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e PrimefacesApostila Java Web com JSF, JPA e Primefaces
Apostila Java Web com JSF, JPA e Primefaces
 

Semelhante a Git - Visão Geral

Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACDanilo Pinotti
 
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 2019Tchelinux
 
Version all the things [Workflows com Git]
Version all the things [Workflows com Git]Version all the things [Workflows com Git]
Version all the things [Workflows com Git]Andréa Zambrana
 
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 gitHumberto Streb
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareAldson Diego
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.Rafael Ivan
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIRudá Almeida
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com GitVagner Santana
 
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
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Danilo Pinotti
 
Git workshop
Git workshopGit workshop
Git workshopYuri Reis
 
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em pazViajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em pazFlávio Lisboa
 
Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016Victor Souza
 

Semelhante a Git - Visão Geral (20)

Conhecendo o GIT
Conhecendo o GITConhecendo o GIT
Conhecendo o GIT
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
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
 
Git + git hub
Git + git hubGit + git hub
Git + git hub
 
Version all the things [Workflows com Git]
Version all the things [Workflows com Git]Version all the things [Workflows com Git]
Version all the things [Workflows com 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
 
Git flow no projeto
Git flow no projetoGit flow no projeto
Git flow no projeto
 
EIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de SoftwareEIIFRO2014 - Desenvolvimento Colaborativo de Software
EIIFRO2014 - Desenvolvimento Colaborativo de Software
 
Conhecendo o git.
Conhecendo o git.Conhecendo o git.
Conhecendo o git.
 
Desenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLIDesenvolvendo para WordPress com Docker, Git e WP-CLI
Desenvolvendo para WordPress com Docker, Git e WP-CLI
 
Controle de Versões com Git
Controle de Versões com GitControle de Versões com Git
Controle de Versões com Git
 
Git 101
Git 101Git 101
Git 101
 
Git
GitGit
Git
 
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é
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Git
GitGit
Git
 
Git workshop
Git workshopGit workshop
Git workshop
 
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em pazViajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
Viajando no Tempo com GIT: Controle de versão para quem quer dormir em paz
 
Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016Introdução ao Git - Semac 2016
Introdução ao Git - Semac 2016
 
Git para quem vem do SVN
Git para quem vem do SVNGit para quem vem do SVN
Git para quem vem do SVN
 

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
  • 14.
  • 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?
  • 27.
  • 28.
  • 29.
  • 30.
  • 31. $ git commit --amend $ git clean -n Dicas
  • 32.
  • 33.
  • 34. Eu quero ser um mestre Jedi! http://pcottle.github.io/learnGitBranching/ https://www.atlassian.com/git Pro Git - Scott Chacon