SlideShare a Scribd company logo
Sendo ágil com
w w w. l a m b d a 3 . c o m . b r
Giovanni Bassi
• Programador
• Microsoft MVP
• Não gerente
• blog.lambda3.com.br, podcast.lambda3.com.br,
nodebr, dockersp
@giovannibassi
/giggio.tech
• Escalador e ciclista
Podcast
podcast.lambda3.com.br
vagas.lambda3.com.br
Agenda
Clone, commit,
push
Clone
93230c5
master HEAD
= commit
= branch
= HEAD
origin/
master
Commit
93230c5 0ac78b6
master HEAD
= commit
= branch
= HEAD
origin/
master
Commit
93230c5 0ac78b6
master HEAD
= commit
= branch
= HEAD
origin/
master
4ebf653
Push
93230c5 0ac78b6
master HEAD
= commit
= branch
= HEAD
origin/
master
4ebf653
Checkout branch
Branch
= commit
= branch
= HEAD
93230c5 0ac78b6
c77926b
4ebf653
master
outro
HEAD
Checkout
= commit
= branch
= HEAD
93230c5 0ac78b6
c77926b
4ebf653
master
outro HEAD
Merge, checkout,
merge
Trabalho no branch “outro” terminado
= commit
= branch
= HEAD
93230c5 0ac78b6
c77926b
4ebf653
master
HEADoutro
Merge master
= commit
= branch
= HEAD
93230c5 0ac78b6
c77926b
4ebf653
master
HEAD
outrod4545ea
Checkout master
= commit
= branch
= HEAD
93230c5 0ac78b6
c77926b
4ebf653
master
outrod4545ea
HEAD
Merge outro
= commit
= branch
= HEAD
93230c5 0ac78b6
c77926b
4ebf653
master
outrod4545ea
HEAD
Demo
Tudo são arquivos
Progredindo com
Clone
93230c5
master HEAD
= commit
= branch
= HEAD
origin/
master
Add
93230c5
= commit
= branch
= HEAD
origin/
master
master HEAD
Staging
/Index
Staging/IndexStaging/Index
Commit
93230c5 0ac78b6
master HEAD
= commit
= branch
= HEAD
origin/
master
Commit
93230c5 0ac78b6
= commit
= branch
= HEAD
origin/
master
master HEAD
7f3ddf
Commit
93230c5 0ac78b6
master HEAD
= commit
= branch
= HEAD
origin/
master
7f3ddf
Commit
93230c5 0ac78b6
master HEAD
= commit
= branch
= HEAD
origin/
master
Commit
93230c5 0ac78b6
master HEAD
= commit
= branch
= HEAD
origin/
master
7f3ddf 7bdf1a
Clean code
Clean commit
Squash
Commit
93230c5 0ac78b6
master HEAD
= commit
= branch
= HEAD
origin/
master
7f3ddf 7bdf1a
Mensagens
93230c5 0ac78b6 7f3ddf 7bdf1a
Mensagens
93230c5 0ac78b6 7f3ddf 7bdf1a
Mensagens
93230c5 0ac78b6 7f3ddf 7bdf1a
Mensagens
93230c5 0ac78b6 7f3ddf 7bdf1a
531d4d0
Squash
93230c50ac78b67f3ddf7bdf1a
Reestruturando
commits
git rebase -i
93230c5 0ac78b6 7f3ddf 7bdf1a
git rebase -i
93230c5 7f3ddf 7bdf1a
git rebase -i
93230c5 7f3ddf7bdf1a
Rebase e
Merge
Trabalho no branch “outro” terminado
= commit
= branch
= HEAD
93230c5 0ac78b6
c77926b
4ebf653
master
HEADoutro
Merge outro
= commit
= branch
= HEAD
93230c5 0ac78b6
c77926b
4ebf653
masterd4545ea HEAD
Trabalho no branch “outro” terminado
= commit
= branch
= HEAD
93230c5 0ac78b6
c77926b
4ebf653
master
HEADoutro
git rebase master
= commit
= branch
= HEAD
93230c5 0ac78b6 c77926b4ebf653
master
HEADoutro
git rebase master
= commit
= branch
= HEAD
93230c5 0ac78b6 c77926b4ebf653
master
HEADoutro39e168
git checkout master && git merge outro
= commit
= branch
= HEAD
93230c5 0ac78b6 c7792624ebf653
master
HEADoutro39e168
git branch -d outro
= commit
= branch
= HEAD
93230c5 0ac78b6 c7792624ebf653 master39e168 HEAD
git branch -d outro
= commit
= branch
= HEAD
93230c5 0ac78b6 c7792624ebf653 master39e168 HEAD
Ammend
Pequena correção
93230c5
git commit --amend
93230c539e168
git commit --amend --no-edit
93230c545fa67
Demo
Rebase
Trabalhando sem medo
Crie outro branch
Estou com medo do rebase
93230c5 0ac78b6 7f3ddf 7bdf1a
gb/nf HEADmaster
= commit
= branch
= HEAD
git checkout -b temp
93230c5 0ac78b6 7f3ddf 7bdf1a
gb/nfmaster
= commit
= branch
= HEAD
temp HEAD
Após o squash
93230c5 0ac78b6 7f3ddf 7bdf1a
gb/nfmaster
= commit
= branch
= HEAD
temp HEAD
531d4d0
0ac
78b
6
7f3
ddf
7bd
f1a
Após o reset
93230c5 0ac78b6 7f3ddf 7bdf1a
master
= commit
= branch
= HEAD
gb/nf HEAD
531d4d0
0ac
78b
6
7f3
ddf
7bd
f1a
git worktree
Status inicial
~/projects/myproj
gb/nf
Troca de branches padrão
~/projects/myproj
gb/fix-login
node_modules?
Status inicial
~/projects/myproj
gb/nf
Com git worktree
~/projects/myproj
gb/nf
~/projects/myproj-fix
gb/fix-login
Clone local
Clone local
93230c5 0ac78b6
master
~/projects/myproj
git clone myproj myproj2
93230c5 0ac78b6
master
~/projects/myproj
~/projects/myproj293230c5 0ac78b6
master remote
Commit
93230c5 0ac78b6
master
93230c5 0ac78b6
master
b8e46ef
git pull ../myproj2
93230c5 0ac78b6
93230c5 0ac78b6
master
b8e46ef
master
b8e46ef
Cópia local
Status inicial
~/p/myproj
~/p/myproj/.git
~/p/myproj/node_modules
cp -R myproj myproj2
~/p/myproj
~/p/myproj/.git
~/p/myproj/node_modules
~/p/myproj2
~/p/myproj2/.git
~/p/myproj2/node_modules
Errou feio, errou rude
O git grava tudo
que você faz
no seu repo local
Para veja o que
foi gravado usando
git reflog
Demo
git reflog
Encontrando
bugs com git
• Em qual commit esse bug entrou?
• Há quanto tempo eu tenho esse bug?
Demo
git bisect
Trabalho
paralelo
NEW
DIRTY
DELETED
932 HEADmaster
NEW
DIRTY
Você poderia parar
tudo e fazer essa
feature nova?
DELETED
NEW
DIRTY
DELETED
git stash
NEW
DIRTY
DELETED
932 HEADmaster
932
HEAD
master
gb/temp
932
HEAD
master
gb/temp458
git checkout -b gb/temp
git commit
932 HEADmaster
932
HEAD
master
gb/temp
932
HEAD
master
gb/temp458
932 HEADmaster
gb/temp458
git checkout -b gb/temp
git commit
git checkout master
~/projects/myproj
gb/master
NEW
DIRTY
DELETED
~/projects/myproj
gb/master
~/projects/myproj-fix
gb/fix
NEW
DIRTY
DELETED
~/projects/myproj
gb/master
~/projects/myproj-fix
gb/fix
NEW
DIRTY
DELETED
branches
diferentes!
dicas úteis
git cherry pick
git checkout -b branch_novo
git checkout branch_original
git reset --hard HEAD^
git
--no-pager
--git-dir=<original_dir>/.git
format-patch
-k
-1
--no-color
--stdout <commit_sha>
|
git am -3 -k --ignore-whitespace
http://bit.ly/copycommit
st = status
ci = commit
co = checkout
br = branch
fixup = commit --all --amend --no-edit
open = !explorer `git config remote.origin.url`
browse = !git open
up = push upstream master
sync = pull upstream master --rebase
which = !git branch | grep -i
daily = !sh -c 'git log --since=yesterday --
format=%s --author=Giovanni'
serve = daemon --reuseaddr --verbose --base-
path=. --export-all ./.git
hub.github.com
git clone seurepo
git clone user/repo
git browse
git browse -- issues
git browse user/repo wiki
git fork
git create
git checkout https://github.com/user/repo/pull/123
w w w. l a m b d a 3 . c o m . b r
Obrigado!
@giovannibassi
/giggio.tech

More Related Content

Similar to Sendo ágil com git

Simplify writing code with deliberate commits - London Python Meetup
Simplify writing code with deliberate commits - London Python MeetupSimplify writing code with deliberate commits - London Python Meetup
Simplify writing code with deliberate commits - London Python Meetup
Joel Chippindale
 
Git basics
Git basicsGit basics
Git basics
Denys Haryachyy
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control SystemVictor Wong
 
How to Really Get Git
How to Really Get GitHow to Really Get Git
How to Really Get Git
Susan Tan
 
Git branching model_for_tap_team
Git branching model_for_tap_teamGit branching model_for_tap_team
Git branching model_for_tap_teamGrzegorz Wilczynski
 
#3 - Git - Branching e Merging
#3 - Git - Branching e Merging#3 - Git - Branching e Merging
#3 - Git - Branching e Merging
Rodrigo Branas
 
Github integration-kostyasha
Github integration-kostyashaGithub integration-kostyasha
Github integration-kostyasha
Kanstantsin Shautsou
 
Git For The Android Developer
Git For The Android DeveloperGit For The Android Developer
Git For The Android Developer
Effective
 
Jedi Mind Tricks for Git
Jedi Mind Tricks for GitJedi Mind Tricks for Git
Jedi Mind Tricks for Git
Jan Krag
 
Troubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer PerspectiveTroubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer Perspective
Marcelo Altmann
 
Sacándole jugo a git
Sacándole jugo a gitSacándole jugo a git
Sacándole jugo a git
Berny Cantos
 
Automated Drupal deployment with Git and Capistrano
Automated Drupal deployment with Git and CapistranoAutomated Drupal deployment with Git and Capistrano
Automated Drupal deployment with Git and Capistrano
Savvy - Automated profiles for developers
 
Jedi Mind Tricks in Git
Jedi Mind Tricks in GitJedi Mind Tricks in Git
Jedi Mind Tricks in Git
Johan Abildskov
 
Becoming a Git Master
Becoming a Git MasterBecoming a Git Master
Becoming a Git Master
Nicola Paolucci
 
Git Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a BossGit Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a Boss
tmacwilliam
 
Keep you GIT history clean
Keep you GIT history cleanKeep you GIT history clean
Keep you GIT history clean
tomasbro
 
Git-ing out of your git messes
Git-ing out of  your git messesGit-ing out of  your git messes
Git-ing out of your git messes
Katie Sylor-Miller
 

Similar to Sendo ágil com git (20)

Simplify writing code with deliberate commits - London Python Meetup
Simplify writing code with deliberate commits - London Python MeetupSimplify writing code with deliberate commits - London Python Meetup
Simplify writing code with deliberate commits - London Python Meetup
 
Git basics
Git basicsGit basics
Git basics
 
Loading...git
Loading...gitLoading...git
Loading...git
 
Git Distributed Version Control System
Git   Distributed Version Control SystemGit   Distributed Version Control System
Git Distributed Version Control System
 
How to Really Get Git
How to Really Get GitHow to Really Get Git
How to Really Get Git
 
Git branching model_for_tap_team
Git branching model_for_tap_teamGit branching model_for_tap_team
Git branching model_for_tap_team
 
#3 - Git - Branching e Merging
#3 - Git - Branching e Merging#3 - Git - Branching e Merging
#3 - Git - Branching e Merging
 
Github integration-kostyasha
Github integration-kostyashaGithub integration-kostyasha
Github integration-kostyasha
 
Git For The Android Developer
Git For The Android DeveloperGit For The Android Developer
Git For The Android Developer
 
Jedi Mind Tricks for Git
Jedi Mind Tricks for GitJedi Mind Tricks for Git
Jedi Mind Tricks for Git
 
Troubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer PerspectiveTroubleshooting MySQL from a MySQL Developer Perspective
Troubleshooting MySQL from a MySQL Developer Perspective
 
Sacándole jugo a git
Sacándole jugo a gitSacándole jugo a git
Sacándole jugo a git
 
Automated Drupal deployment with Git and Capistrano
Automated Drupal deployment with Git and CapistranoAutomated Drupal deployment with Git and Capistrano
Automated Drupal deployment with Git and Capistrano
 
Jedi Mind Tricks in Git
Jedi Mind Tricks in GitJedi Mind Tricks in Git
Jedi Mind Tricks in Git
 
Becoming a Git Master
Becoming a Git MasterBecoming a Git Master
Becoming a Git Master
 
Git Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a BossGit Magic: Versioning Files like a Boss
Git Magic: Versioning Files like a Boss
 
Geek git
Geek gitGeek git
Geek git
 
Keep you GIT history clean
Keep you GIT history cleanKeep you GIT history clean
Keep you GIT history clean
 
Gittalk
GittalkGittalk
Gittalk
 
Git-ing out of your git messes
Git-ing out of  your git messesGit-ing out of  your git messes
Git-ing out of your git messes
 

More from Giovanni Bassi

O que aprendi montando a arquitetura de microsserviços
O que aprendi montando a arquitetura de microsserviçosO que aprendi montando a arquitetura de microsserviços
O que aprendi montando a arquitetura de microsserviços
Giovanni Bassi
 
Analisando dumps de memória de aplicações .NET
Analisando dumps de memória de aplicações .NETAnalisando dumps de memória de aplicações .NET
Analisando dumps de memória de aplicações .NET
Giovanni Bassi
 
Novidades do c# 7 e 8
Novidades do c# 7 e 8Novidades do c# 7 e 8
Novidades do c# 7 e 8
Giovanni Bassi
 
Async e await com JavaScript: entenda e use agora
Async e await com JavaScript: entenda e use agoraAsync e await com JavaScript: entenda e use agora
Async e await com JavaScript: entenda e use agora
Giovanni Bassi
 
Conhecendo o AKS, o azure container services com kubernetes
Conhecendo o AKS, o azure container services com kubernetesConhecendo o AKS, o azure container services com kubernetes
Conhecendo o AKS, o azure container services com kubernetes
Giovanni Bassi
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Giovanni Bassi
 
C#7, 7.1, 7.2, 7.3 e C# 8
C#7, 7.1, 7.2, 7.3 e C# 8C#7, 7.1, 7.2, 7.3 e C# 8
C#7, 7.1, 7.2, 7.3 e C# 8
Giovanni Bassi
 
Engenharia ágil de ponta a ponta do clone ao deploy
Engenharia ágil de ponta a ponta do clone ao deployEngenharia ágil de ponta a ponta do clone ao deploy
Engenharia ágil de ponta a ponta do clone ao deploy
Giovanni Bassi
 
Entrega contínua fica mais fácil com contêineres
Entrega contínua fica mais fácil com contêineresEntrega contínua fica mais fácil com contêineres
Entrega contínua fica mais fácil com contêineres
Giovanni Bassi
 
.NET Core, ASP.NET Core e .NET Standard 2
.NET Core, ASP.NET Core e .NET Standard 2.NET Core, ASP.NET Core e .NET Standard 2
.NET Core, ASP.NET Core e .NET Standard 2
Giovanni Bassi
 
.NET com contêineres Windows e Linux
.NET com contêineres Windows e Linux.NET com contêineres Windows e Linux
.NET com contêineres Windows e Linux
Giovanni Bassi
 
Async e await com JavaScript: entenda e use agora
Async e await com JavaScript: entenda e use agoraAsync e await com JavaScript: entenda e use agora
Async e await com JavaScript: entenda e use agora
Giovanni Bassi
 
Compartilhando código entre frontend e backend com Node.js
Compartilhando código entre frontend e backend com Node.jsCompartilhando código entre frontend e backend com Node.js
Compartilhando código entre frontend e backend com Node.js
Giovanni Bassi
 
Construindo uma ferramenta CLI multiplataforma com Node.js
Construindo uma ferramenta CLI multiplataforma com Node.jsConstruindo uma ferramenta CLI multiplataforma com Node.js
Construindo uma ferramenta CLI multiplataforma com Node.js
Giovanni Bassi
 
O Futuro do C#: C#8
O Futuro do C#: C#8O Futuro do C#: C#8
O Futuro do C#: C#8
Giovanni Bassi
 
Um mergulho nos containers windows
Um mergulho nos containers windowsUm mergulho nos containers windows
Um mergulho nos containers windows
Giovanni Bassi
 
Por dentro do .NET Core
Por dentro do .NET CorePor dentro do .NET Core
Por dentro do .NET Core
Giovanni Bassi
 
Build e release pipeline com docker
Build e release pipeline com dockerBuild e release pipeline com docker
Build e release pipeline com docker
Giovanni Bassi
 
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Giovanni Bassi
 
Backend na nuvem com docker
Backend na nuvem com dockerBackend na nuvem com docker
Backend na nuvem com docker
Giovanni Bassi
 

More from Giovanni Bassi (20)

O que aprendi montando a arquitetura de microsserviços
O que aprendi montando a arquitetura de microsserviçosO que aprendi montando a arquitetura de microsserviços
O que aprendi montando a arquitetura de microsserviços
 
Analisando dumps de memória de aplicações .NET
Analisando dumps de memória de aplicações .NETAnalisando dumps de memória de aplicações .NET
Analisando dumps de memória de aplicações .NET
 
Novidades do c# 7 e 8
Novidades do c# 7 e 8Novidades do c# 7 e 8
Novidades do c# 7 e 8
 
Async e await com JavaScript: entenda e use agora
Async e await com JavaScript: entenda e use agoraAsync e await com JavaScript: entenda e use agora
Async e await com JavaScript: entenda e use agora
 
Conhecendo o AKS, o azure container services com kubernetes
Conhecendo o AKS, o azure container services com kubernetesConhecendo o AKS, o azure container services com kubernetes
Conhecendo o AKS, o azure container services com kubernetes
 
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
Novidades do .NET Core 2.1 e do ASP.NET Core 2.1
 
C#7, 7.1, 7.2, 7.3 e C# 8
C#7, 7.1, 7.2, 7.3 e C# 8C#7, 7.1, 7.2, 7.3 e C# 8
C#7, 7.1, 7.2, 7.3 e C# 8
 
Engenharia ágil de ponta a ponta do clone ao deploy
Engenharia ágil de ponta a ponta do clone ao deployEngenharia ágil de ponta a ponta do clone ao deploy
Engenharia ágil de ponta a ponta do clone ao deploy
 
Entrega contínua fica mais fácil com contêineres
Entrega contínua fica mais fácil com contêineresEntrega contínua fica mais fácil com contêineres
Entrega contínua fica mais fácil com contêineres
 
.NET Core, ASP.NET Core e .NET Standard 2
.NET Core, ASP.NET Core e .NET Standard 2.NET Core, ASP.NET Core e .NET Standard 2
.NET Core, ASP.NET Core e .NET Standard 2
 
.NET com contêineres Windows e Linux
.NET com contêineres Windows e Linux.NET com contêineres Windows e Linux
.NET com contêineres Windows e Linux
 
Async e await com JavaScript: entenda e use agora
Async e await com JavaScript: entenda e use agoraAsync e await com JavaScript: entenda e use agora
Async e await com JavaScript: entenda e use agora
 
Compartilhando código entre frontend e backend com Node.js
Compartilhando código entre frontend e backend com Node.jsCompartilhando código entre frontend e backend com Node.js
Compartilhando código entre frontend e backend com Node.js
 
Construindo uma ferramenta CLI multiplataforma com Node.js
Construindo uma ferramenta CLI multiplataforma com Node.jsConstruindo uma ferramenta CLI multiplataforma com Node.js
Construindo uma ferramenta CLI multiplataforma com Node.js
 
O Futuro do C#: C#8
O Futuro do C#: C#8O Futuro do C#: C#8
O Futuro do C#: C#8
 
Um mergulho nos containers windows
Um mergulho nos containers windowsUm mergulho nos containers windows
Um mergulho nos containers windows
 
Por dentro do .NET Core
Por dentro do .NET CorePor dentro do .NET Core
Por dentro do .NET Core
 
Build e release pipeline com docker
Build e release pipeline com dockerBuild e release pipeline com docker
Build e release pipeline com docker
 
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
Release contínuo de um microsserviço com Docker ASP.net core e Azure Containe...
 
Backend na nuvem com docker
Backend na nuvem com dockerBackend na nuvem com docker
Backend na nuvem com docker
 

Recently uploaded

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
nkrafacyberclub
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
RinaMondal9
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
Vlad Stirbu
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 

Recently uploaded (20)

State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptxSecstrike : Reverse Engineering & Pwnable tools for CTF.pptx
Secstrike : Reverse Engineering & Pwnable tools for CTF.pptx
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Free Complete Python - A step towards Data Science
Free Complete Python - A step towards Data ScienceFree Complete Python - A step towards Data Science
Free Complete Python - A step towards Data Science
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Quantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIsQuantum Computing: Current Landscape and the Future Role of APIs
Quantum Computing: Current Landscape and the Future Role of APIs
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 

Sendo ágil com git

Editor's Notes

  1. cd .git cat HEAD cat refs/heads/master ls objects/xx/yyyyy (sendo que xx são os primeiros 2 dígitos do commit, e yyyyy são o restante do SHA) git cat-file –p xxyyyyyyyy git show xxyyyyyyyy ls refs cat refs/remotes/origin/master
  2. cd C:\p\samplegitrepo git co create101to200 #mostra o merge git merge remove1s #limpa tudo git reset --hard HEAD^ #mostra o squash git rebase -i master #mostra o rebase git rebase remove1s
  3. cd C:\p\samplegitrepo git checkout create101to200withmanycommitsanderror git reset --hard HEAD^^
  4. cd C:\p\samplegitrepo git checkout create101to200withmanycommitsanderror git bisect start git bisect bad #rever o log e notar que no master estava ok git log git checkout master git bisect good #checar com: ls | % { $(cat $_).Contains('ERR') } | ? { $_ -eq $true } # fazer varios git bisect bad e good ate achar o commit #mostrar novamente com script git bisect reset git checkout create101to200withmanycommitsanderror-scriptforbisect cp bisect.ps1 \temp git bisect start git bisect bad git checkout master git bisect good git bisect run \temp\bisect.sh