The document discusses various Git prompt configurations that can be customized to display useful information in the command line prompt. This includes setting flags to show the current branch name, dirty and stash states, and whether the local and remote branches are in sync. Instructions are provided on editing the .bashrc file to customize the PS1 prompt variable and export various GIT_PS1 variables to control the displayed states.
9. git-completion
# Copie o arquivo do source do Git
~$ cp $GIT_SOURCE/contrib/completion/git-completion.bash ~/.git-completion.sh
10. git-completion
# Copie o arquivo do source do Git
~$ cp $GIT_SOURCE/contrib/completion/git-completion.bash ~/.git-completion.sh
# Edite seu .bashrc
~$ vim ~/.bashrc
11. git-completion
# Copie o arquivo do source do Git
~$ cp $GIT_SOURCE/contrib/completion/git-completion.bash ~/.git-completion.sh
# Edite seu .bashrc
~$ vim ~/.bashrc
# Adicionando a seguinte linha
source ~/.git-completion.sh
12. git-completion
# Copie o arquivo do source do Git
~$ cp $GIT_SOURCE/contrib/completion/git-completion.bash ~/.git-completion.sh
# Edite seu .bashrc
~$ vim ~/.bashrc
# Adicionando a seguinte linha
source ~/.git-completion.sh
# Recarregue o ~/.bashrc
~$ source ~/.bashrc
22. prompt
# Edite seu .bashrc
~$ vim ~/.bashrc
# Adicionando a seguinte linha
export PS1='w$(__git_ps1 "(%s)")'
# Recarregue o ~/.bashrc
~$ source ~/.bashrc
25. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$
26. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
27. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
Switched to branch 'branch-name'
~/git-tricks(branch-name)$
28. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
Switched to branch 'branch-name'
~/git-tricks(branch-name)$ export GIT_PS1_SHOWDIRTYSTATE=true
~/git-tricks(branch-name)$
29. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
Switched to branch 'branch-name'
~/git-tricks(branch-name)$ export GIT_PS1_SHOWDIRTYSTATE=true
~/git-tricks(branch-name)$ ls
README
~/git-tricks(branch-name)$
30. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
Switched to branch 'branch-name'
~/git-tricks(branch-name)$ export GIT_PS1_SHOWDIRTYSTATE=true
~/git-tricks(branch-name)$ ls
README
~/git-tricks(branch-name)$ echo "Olá" >> README
31. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
Switched to branch 'branch-name'
~/git-tricks(branch-name)$ export GIT_PS1_SHOWDIRTYSTATE=true
~/git-tricks(branch-name)$ ls
README
~/git-tricks(branch-name)$ echo "Olá" >> README
~/git-tricks(branch-name *)$
32. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
Switched to branch 'branch-name'
~/git-tricks(branch-name)$ export GIT_PS1_SHOWDIRTYSTATE=true
~/git-tricks(branch-name)$ ls
README
~/git-tricks(branch-name)$ echo "Olá" >> README
~/git-tricks(branch-name *)$ git add README
33. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
Switched to branch 'branch-name'
~/git-tricks(branch-name)$ export GIT_PS1_SHOWDIRTYSTATE=true
~/git-tricks(branch-name)$ ls
README
~/git-tricks(branch-name)$ echo "Olá" >> README
~/git-tricks(branch-name *)$ git add README
~/git-tricks(branch-name +)$
34. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
Switched to branch 'branch-name'
~/git-tricks(branch-name)$ export GIT_PS1_SHOWDIRTYSTATE=true
~/git-tricks(branch-name)$ ls
README
~/git-tricks(branch-name)$ echo "Olá" >> README
~/git-tricks(branch-name *)$ git add README
~/git-tricks(branch-name +)$ export GIT_PS1_SHOWSTASHSTATE=true
~/git-tricks(branch-name +)$
35. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
Switched to branch 'branch-name'
~/git-tricks(branch-name)$ export GIT_PS1_SHOWDIRTYSTATE=true
~/git-tricks(branch-name)$ ls
README
~/git-tricks(branch-name)$ echo "Olá" >> README
~/git-tricks(branch-name *)$ git add README
~/git-tricks(branch-name +)$ export GIT_PS1_SHOWSTASHSTATE=true
~/git-tricks(branch-name +)$ git stash
36. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
Switched to branch 'branch-name'
~/git-tricks(branch-name)$ export GIT_PS1_SHOWDIRTYSTATE=true
~/git-tricks(branch-name)$ ls
README
~/git-tricks(branch-name)$ echo "Olá" >> README
~/git-tricks(branch-name *)$ git add README
~/git-tricks(branch-name +)$ export GIT_PS1_SHOWSTASHSTATE=true
~/git-tricks(branch-name +)$ git stash
~/git-tricks(branch-name $)$
37. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
Switched to branch 'branch-name'
~/git-tricks(branch-name)$ export GIT_PS1_SHOWDIRTYSTATE=true
~/git-tricks(branch-name)$ ls
README
~/git-tricks(branch-name)$ echo "Olá" >> README
~/git-tricks(branch-name *)$ git add README
~/git-tricks(branch-name +)$ export GIT_PS1_SHOWSTASHSTATE=true
~/git-tricks(branch-name +)$ git stash
~/git-tricks(branch-name $)$ export GIT_PS1_SHOWUNTRACKEDFILES=true
~/git-tricks(branch-name $)$
38. prompt
# Em um repositório git
~$ cd git-tricks
~/git-tricks(master)$ git checkout branch-name
Switched to branch 'branch-name'
~/git-tricks(branch-name)$ export GIT_PS1_SHOWDIRTYSTATE=true
~/git-tricks(branch-name)$ ls
README
~/git-tricks(branch-name)$ echo "Olá" >> README
~/git-tricks(branch-name *)$ git add README
~/git-tricks(branch-name +)$ export GIT_PS1_SHOWSTASHSTATE=true
~/git-tricks(branch-name +)$ git stash
~/git-tricks(branch-name $)$ export GIT_PS1_SHOWUNTRACKEDFILES=true
~/git-tricks(branch-name $)$ touch NEWFILE
63. commit.template
template para a mensagem de commit
~$ cat ~/.commit-message.txt
Assunto
O que eu fiz
[ticket: X]
64. commit.template
template para a mensagem de commit
~$ cat ~/.commit-message.txt
Assunto
O que eu fiz
[ticket: X]
~$ git config --global commit.template ~/.commit-message.txt
65. commit.template
template para a mensagem de commit
~$ cat ~/.commit-message.txt
Assunto
O que eu fiz
[ticket: X]
~$ git config --global commit.template ~/.commit-message.txt
~$ git commit
Assunto
O que eu fiz
[ticket: X]
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch master
# Changes to be committed:
67. help.autocorrect
roda o comando correto, mesmo se você digitou errado
68. help.autocorrect
roda o comando correto, mesmo se você digitou errado
~$ git stat
git: 'stat' is not a git command. See 'git --help'.
Did you mean this?
status
~$
69. help.autocorrect
roda o comando correto, mesmo se você digitou errado
~$ git stat
git: 'stat' is not a git command. See 'git --help'.
Did you mean this?
status
~$ git config --global help.autocorrect 1
~$
70. help.autocorrect
roda o comando correto, mesmo se você digitou errado
~$ git stat
git: 'stat' is not a git command. See 'git --help'.
Did you mean this?
status
~$ git config --global help.autocorrect 1
~$ git stat
WARNING: You called a Git command named 'stat', which does not exist.
Continuing under the assumption that you meant 'status'
in 0.1 seconds automatically...
# On branch master
nothing to commit (working directory clean)
~$
76. branch.autosetuprebase
`git pull` sempre com rebase em todos os “tracking branches”
~$ git config --global branch.autosetuprebase always
# Chega de digitar `git pull --rebase`!
80. git commit --verbose
Exibe um diff abaixo da mensagem de commit
~/git-tricks(master)$ echo "Mundo" >> README
~/git-tricks(master *)$
81. git commit --verbose
Exibe um diff abaixo da mensagem de commit
~/git-tricks(master)$ echo "Mundo" >> README
~/git-tricks(master *)$ git commit -a -v
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
[...]
#
diff --git a/README b/README
index 1ca34a8..feae20b 100644
--- a/README
+++ b/README
@@ -1 +1,2 @@
Olá
+Mundo
91. git status -s -b
mensagem de status curta
~/git-tricks(master)$ git status -s -b
## master...origin/master [ahead 2, behind 3]
M README
A TODO
?? LICENSE
?? AUTHORS
~/git-tricks(master)$
93. git push -u
envia um branch e configura o tracking
94. git push -u
envia um branch e configura o tracking
~/git-tricks(fixes)$ git push -u origin fixes
* [new branch] fixes -> fixes
Branch fixes set up to track remote branch fixes from origin.
~/git-tricks(fixes)$
96. git checkout -t
cria, faz checkout e tracking de branches remotos
97. git checkout -t
cria, faz checkout e tracking de branches remotos
~/git-tricks(master)$ git checkout -t origin/fixes
Branch fixes set up to track remote branch fixes from origin.
Switched to a new branch 'fixes'
~/git-tricks(fixes)$
113. stash
guarda as alterações em um “commit” temporário
114. stash
guarda as alterações em um “commit” temporário
~/git-tricks(master)$ echo "Hello World" >> README
~/git-tricks(master)$ git status -s
M README
~/git-tricks(master)$
115. stash
guarda as alterações em um “commit” temporário
~/git-tricks(master)$ echo "Hello World" >> README
~/git-tricks(master)$ git status -s
M README
~/git-tricks(master)$ git stash
Saved working directory and index state WIP on master: 51e034d typo
HEAD is now at 51e034d typo
~/git-tricks(master)$
116. stash
guarda as alterações em um “commit” temporário
~/git-tricks(master)$ echo "Hello World" >> README
~/git-tricks(master)$ git status -s
M README
~/git-tricks(master)$ git stash
Saved working directory and index state WIP on master: 51e034d typo
HEAD is now at 51e034d typo
~/git-tricks(master)$ git status -s
~/git-tricks(master)$ git stash list
stash@{0}: WIP on master: 51e034d typo
~/git-tricks(master)$
117. stash
guarda as alterações em um “commit” temporário
~/git-tricks(master)$ echo "Hello World" >> README
~/git-tricks(master)$ git status -s
M README
~/git-tricks(master)$ git stash
Saved working directory and index state WIP on master: 51e034d typo
HEAD is now at 51e034d typo
~/git-tricks(master)$ git status -s
~/git-tricks(master)$ git stash list
stash@{0}: WIP on master: 51e034d typo
~/git-tricks(master)$ git show stash@{0}
commit 2f7289f68669d3b5e70ecff1ba7e3ac4742135e9
Merge: 51e034d 36167ac
Author: Arthur Zapparoli <arthurzap@gmail.com>
Date: Wed Feb 20 20:23:47 2011 -0300
118. stash
guarda as alterações em um “commit” temporário
~/git-tricks(master)$ git stash pop
~/git-tricks(master)$ git status -s
M README
~/git-tricks(master)$ git status list
~/git-tricks(master)$
119. stash
guarda as alterações em um “commit” temporário
~/git-tricks(master)$ git stash pop
~/git-tricks(master)$ git status -s
M README
~/git-tricks(master)$ git status list
~/git-tricks(master)$ git stash save "mensagem"
Saved working directory and index state On master: mensagem
HEAD is now at 51e034d typo
~/git-tricks(master)$ git stash list
stash@{0}: On master: mensagem
~/git-tricks(master)$
121. staging area
tenho 2 arquivos, quero adicionar só 1
122. staging area
tenho 2 arquivos, quero adicionar só 1
~/git-tricks(master)$ git status
# On branch master
# Changed but not updated:
#
# modified: AUTHORS
# modified: README
#
no changes added to commit (use "git add" and/or "git commit -a")
~/git-tricks(master)$
123. staging area
tenho 2 arquivos, quero adicionar só 1
~/git-tricks(master)$ git status
# On branch master
# Changed but not updated:
#
# modified: AUTHORS
# modified: README
#
no changes added to commit (use "git add" and/or "git commit -a")
~/git-tricks(master)$ git add README
~/git-tricks(master)$ git status
# On branch master
# Changes to be committed:
#
# modified: README
#
# Changed but not updated:
#
# modified: AUTHORS
#
~/git-tricks(master)$
124. staging area
tenho 2 arquivos, quero adicionar só 1
~/git-tricks(master)$ git commit -m "English!"
[master 76b2c02] English
1 files changed, 1 insertions(+), 0 deletions(-)
~/git-tricks(master)$
125. staging area
tenho 2 arquivos, quero adicionar só 1
~/git-tricks(master)$ git commit -m "English!"
[master 76b2c02] English
1 files changed, 1 insertions(+), 0 deletions(-)
~/git-tricks(master)$ git status
# On branch master
# Changed but not updated:
#
# modified: AUTHORS
#
no changes added to commit (use "git add" and/or "git commit -a")
~/git-tricks(master)$
126. staging area
quando eu quero adicionar apenas uma parte de um arquivo
127. staging area
quando eu quero adicionar apenas uma parte de um arquivo
~/git-tricks(master)$ git status -s
M AUTHORS
~/git-tricks(master)$
128. staging area
quando eu quero adicionar apenas uma parte de um arquivo
~/git-tricks(master)$ git status -s
M AUTHORS
~/git-tricks(master)$ git add -i
*** Commands ***
1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked
5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp
What now>
129. staging area
quando eu quero adicionar apenas uma parte de um arquivo
~/git-tricks(master)$ git status -s
M AUTHORS
~/git-tricks(master)$ git add -i
*** Commands ***
1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked
5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp
What now> 5
1: unchanged +2/-0 [A]UTHORS
Patch update>> 1
* 1: unchanged +2/-0 [A]UTHORS
Patch update>>
diff --git a/AUTHORS b/AUTHORS
index e69de29..5db9767 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -0,0 +1,2 @@
+Arthur
+Guilherme
Stage this hunk [y,n,q,a,d,/,e,?]?
130. staging area
quando eu quero adicionar apenas uma parte de um arquivo
Stage this hunk [y,n,q,a,d,/,e,?]?
y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk nor any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk nor any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help
@@ -0,0 +1,2 @@
+Arthur
+Guilherme
Stage this hunk [y,n,q,a,d,/,e,?]?
131. staging area
quando eu quero adicionar apenas uma parte de um arquivo
Stage this hunk [y,n,q,a,d,/,e,?]? e
# Manual hunk edit mode -- see bottom for a quick guide
@@ -0,0 +1,2 @@
+Arthur
+Guilherme
# ---
# To remove '-' lines, make them ' ' lines (context).
# To remove '+' lines, delete them.
# Lines starting with # will be removed.
#
# If the patch applies cleanly, the edited hunk will immediately be
# marked for staging. If it does not apply cleanly, you will be given
# an opportunity to edit again. If all lines of the hunk are removed,
# then the edit is aborted and the hunk is left unchanged.
132. staging area
quando eu quero adicionar apenas uma parte de um arquivo
Stage this hunk [y,n,q,a,d,/,e,?]? e
# Manual hunk edit mode -- see bottom for a quick guide
@@ -0,0 +1,2 @@
+Arthur
+Guilherme
# ---
# To remove '-' lines, make them ' ' lines (context).
# To remove '+' lines, delete them.
# Lines starting with # will be removed.
#
# If the patch applies cleanly, the edited hunk will immediately be
# marked for staging. If it does not apply cleanly, you will be given
# an opportunity to edit again. If all lines of the hunk are removed,
# then the edit is aborted and the hunk is left unchanged.
*** Commands ***
1: [s]tatus 2: [u]pdate 3: [r]evert 4: [a]dd untracked
5: [p]atch 6: [d]iff 7: [q]uit 8: [h]elp
What now> 7
Bye.
~/git-tricks(master)$
133. staging area
quando eu quero adicionar apenas uma parte de um arquivo
~/git-tricks(master)$ git status
# On branch master
# Changes to be committed:
#
# modified: AUTHORS
#
# Changed but not updated:
#
# modified: AUTHORS
#
~/git-tricks(master)$
135. rebase
reaplica as mudanças de um branch em cima de outro
136. rebase
reaplica as mudanças de um branch em cima de outro
~/git-tricks(master)$ git branch
authors
* master
~/git-tricks(master)$ git branch --no-merged
authors
~/git-tricks(master)$ git log --oneline --graph
* f121878 Fix
* 76b2c02 English
[...]
~/git-tricks(master)$
137. rebase
reaplica as mudanças de um branch em cima de outro
~/git-tricks(master)$ git branch
authors
* master
~/git-tricks(master)$ git branch --no-merged
authors
~/git-tricks(master)$ git log --oneline --graph
* f121878 Fix
* 76b2c02 English
[...]
~/git-tricks(master)$ git merge authors
~/git-tricks(master)$ git log --oneline --graph --decorate
* c81cff6 (HEAD, master) Merge branch 'authors'
|
| * 1e2f8a4 (authors) New Authors
* | f121878 Fix
|/
* 76b2c02 English
138. rebase
reaplica as mudanças de um branch em cima de outro
~/git-tricks(master)$ git branch
authors
* master
~/git-tricks(master)$ git branch --no-merged
authors
~/git-tricks(master)$ git log --oneline --graph
* f121878 Fix
* 76b2c02 English
[...]
~/git-tricks(master)$ git rebase authors
First, rewinding head to replay your work on top of it...
Applying: Fix
~/git-tricks(master)$ git log --oneline --graph --decorate
* b28e647 (HEAD, master) Fix
* 1e2f8a4 (authors) New Authors
* 76b2c02 English
142. reescrevendo a história
editando o último commit
~/git-tricks(master)$ git log --oneline
fceaeb5 typo
c1bcf8a Fix
80e9826 Second commit
3247745 Initial commit
~/git-tricks(master)$
amend
143. reescrevendo a história
editando o último commit
~/git-tricks(master)$ git log --oneline
fceaeb5 typo
c1bcf8a Fix
80e9826 Second commit
3247745 Initial commit
~/git-tricks(master)$ echo "." >> README
~/git-tricks(master)$ git commit -a --amend
[master 5dc6308] typo
1 files changed, 2 insertions(+), 1 deletions(-)
~/git-tricks(master)$
amend
144. reescrevendo a história
editando o último commit
~/git-tricks(master)$ git log --oneline
fceaeb5 typo
c1bcf8a Fix
80e9826 Second commit
3247745 Initial commit
~/git-tricks(master)$ echo "." >> README
~/git-tricks(master)$ git commit -a --amend
[master 5dc6308] typo
1 files changed, 2 insertions(+), 1 deletions(-)
~/git-tricks(master)$ git log --oneline
5dc6308 typo
c1bcf8a Fix
80e9826 Second commit
3247745 Initial commit
~/git-tricks(master)$ amend
145. reescrevendo a história
editando o último commit
~/git-tricks(master)$ git log --oneline
fceaeb5 typo
c1bcf8a Fix
80e9826 Second commit
3247745 Initial commit
~/git-tricks(master)$ echo "." >> README
~/git-tricks(master)$ git commit -a --amend
[master 5dc6308] typo
1 files changed, 2 insertions(+), 1 deletions(-)
~/git-tricks(master)$ git log --oneline
5dc6308 typo
c1bcf8a Fix
80e9826 Second commit
3247745 Initial commit
~/git-tricks(master)$ amend
149. reescrevendo a história
editando vários commits de uma só vez
~/git-tricks(master)$ git log --oneline
b28e647 Fix
1e2f8a4 New Authors
76b2c02 English
~/git-tricks(master)$
rebase -i
150. reescrevendo a história
editando vários commits de uma só vez
~/git-tricks(master)$ git log --oneline
b28e647 Fix
1e2f8a4 New Authors
76b2c02 English
~/git-tricks(master)$ git rebase -i HEAD~3
pick 76b2c02 English
pick 1e2f8a4 New Authors
pick b28e647 Fix
# Rebase 76b2c02..b28e647 onto 76b2c02
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
#
#
#
#
If you remove a line here THAT COMMIT WILL BE LOST.
However, if you remove everything, the rebase will be aborted. rebase -i
151. reescrevendo a história
editando vários commits de uma só vez
~/git-tricks(master)$ git log --oneline
b28e647 Fix
1e2f8a4 New Authors
76b2c02 English
~/git-tricks(master)$ git rebase -i HEAD~3
pick 76b2c02 English
edit 1e2f8a4 New Authors
pick b28e647 Fix
# Rebase 76b2c02..b28e647 onto 76b2c02
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
#
#
#
#
If you remove a line here THAT COMMIT WILL BE LOST.
However, if you remove everything, the rebase will be aborted. rebase -i
152. reescrevendo a história
editando vários commits de uma só vez
Stopped at 1e2f8a4... New Authors
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
~/git-tricks(master|REBASE-i)$
rebase -i
153. reescrevendo a história
editando vários commits de uma só vez
Stopped at 1e2f8a4... New Authors
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
~/git-tricks(master|REBASE-i)$ git commit --amend
[detached HEAD 0c434b4] New Authors: Arthur and Guilherme
1 files changed, 2 insertions(+), 0 deletions(-)
~/git-tricks(master|REBASE-i)$ git rebase --continue
Successfully rebased and updated refs/heads/master.
~/git-tricks(master)$ git log --oneline
edac081 Fix
0c434b4 New Authors: Arthur and Guilherme
76b2c02 English
rebase -i
154. reescrevendo a história
editando vários commits de uma só vez
Stopped at 1e2f8a4... New Authors
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue
~/git-tricks(master|REBASE-i)$ git commit --amend
[detached HEAD 0c434b4] New Authors: Arthur and Guilherme
1 files changed, 2 insertions(+), 0 deletions(-)
~/git-tricks(master|REBASE-i)$ git rebase --continue
Successfully rebased and updated refs/heads/master.
~/git-tricks(master)$ git log --oneline Antes:
edac081 Fix b28e647 Fix
0c434b4 New Authors: Arthur and Guilherme 1e2f8a4 New Authors
76b2c02 English 76b2c02 English
rebase -i
155. reescrevendo a história
reordenando commits
~/git-tricks(master)$ git log --oneline
edac081 Fix
0c434b4 New Authors: Arthur and Guilherme
76b2c02 English
3933fbc Adding AUTHORS
~/git-tricks(master)$ git rebase -i HEAD~4
pick 3933fbc Adding AUTHORS
pick 76b2c02 English
pick 0c434b4 New Authors: Arthur and Guilherme
pick edac081 Fix
rebase -i
156. reescrevendo a história
reordenando commits
~/git-tricks(master)$ git log --oneline
edac081 Fix
0c434b4 New Authors: Arthur and Guilherme
76b2c02 English
3933fbc Adding AUTHORS
~/git-tricks(master)$ git rebase -i HEAD~4
pick 76b2c02 English
pick edac081 Fix
pick 3933fbc Adding AUTHORS
pick 0c434b4 New Authors: Arthur and Guilherme
rebase -i
157. reescrevendo a história
reordenando commits
~/git-tricks(master)$ git log --oneline
edac081 Fix
0c434b4 New Authors: Arthur and Guilherme
76b2c02 English
3933fbc Adding AUTHORS
~/git-tricks(master)$ git rebase -i HEAD~4
pick 76b2c02 English
pick edac081 Fix
pick 3933fbc Adding AUTHORS
pick 0c434b4 New Authors: Arthur and Guilherme
~/git-tricks(master)$ git log --oneline
c3187e3 New Authors: Arthur and Guilherme
40a5b76 Adding AUTHORS
76bc060 Fix
36553c5 English
~/git-tricks(master)$
rebase -i
159. reescrevendo a história
deletando commits
~/git-tricks(master)$ git log --oneline
c3187e3 New Authors: Arthur and Guilherme
40a5b76 Adding AUTHORS
76bc060 Fix
36553c5 English
~/git-tricks(master)$ git rebase -i HEAD~4
pick 36553c5 English
pick edac081 Fix
pick 3933fbc Adding AUTHORS
pick 0c434b4 New Authors: Arthur and Guilherme
rebase -i
160. reescrevendo a história
deletando commits
~/git-tricks(master)$ git log --oneline
c3187e3 New Authors: Arthur and Guilherme
40a5b76 Adding AUTHORS
76bc060 Fix
36553c5 English
~/git-tricks(master)$ git rebase -i HEAD~4
pick 36553c5 English
pick 3933fbc Adding AUTHORS
pick 0c434b4 New Authors: Arthur and Guilherme
rebase -i
161. reescrevendo a história
deletando commits
~/git-tricks(master)$ git log --oneline
c3187e3 New Authors: Arthur and Guilherme
40a5b76 Adding AUTHORS
76bc060 Fix
36553c5 English
~/git-tricks(master)$ git rebase -i HEAD~4
pick 36553c5 English
pick 3933fbc Adding AUTHORS
pick 0c434b4 New Authors: Arthur and Guilherme
~/git-tricks(master)$ git log --oneline
f648606 New Authors: Arthur and Guilherme
373183d Adding AUTHORS
36553c5 English
~/git-tricks(master)$
rebase -i
163. reescrevendo a história
juntando commits
~/git-tricks(master)$ git log --oneline
f648606 New Authors: Arthur and Guilherme
373183d Adding AUTHORS
36553c5 English
~/git-tricks(master)$ git rebase -i HEAD~3
pick 36553c5 English
pick 373183d Adding AUTHORS
pick f648606 New Authors: Arthur and Guilherme
rebase -i
164. reescrevendo a história
juntando commits
~/git-tricks(master)$ git log --oneline
f648606 New Authors: Arthur and Guilherme
373183d Adding AUTHORS
36553c5 English
~/git-tricks(master)$ git rebase -i HEAD~3
pick 36553c5 English
pick 373183d Adding AUTHORS
squash f648606 New Authors: Arthur and Guilherme
rebase -i
165. reescrevendo a história
juntando commits
~/git-tricks(master)$ git log --oneline
f648606 New Authors: Arthur and Guilherme
373183d Adding AUTHORS
36553c5 English
~/git-tricks(master)$ git rebase -i HEAD~3
pick 36553c5 English
pick 373183d Adding AUTHORS
squash f648606 New Authors: Arthur and Guilherme
~/git-tricks(master)$
# This is a combination of 2 commits.
# The first commit's message is:
Adding AUTHORS
# This is the 2nd commit message:
New Authors: Arthur and Guilherme
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
rebase -i
166. reescrevendo a história
juntando commits
[detached HEAD 8f851b8] Adding AUTHORS
1 files changed, 2 insertions(+), 0 deletions(-)
create mode 100644 AUTHORS
Successfully rebased and updated refs/heads/master.
~/git-tricks(master)$ git log --oneline
8f851b8 Adding AUTHORS
36553c5 English
~/git-tricks(master)$
rebase -i
167. bisect
ajuda a encontrar onde foram introduzidos bugs
168. cherry-pick
escolha quais commits fazer merge