Introdução a reescrevendo a história.
[cursogit.git] / Merge.mdwn
index 033aec8..3c5c709 100644 (file)
@@ -67,6 +67,24 @@ daquele referenciado pelo branch master.
 
 ## Histórico
 
+A sequência de commits que vemos em um branch é também chamada de
+histórico. Como é utilizado um hash criptográfico e um link entre os
+commits utilizando o ID, e esse faz parte do conteúdo criptografado, não
+é possível alterar este histórico.
+
+Quando alteramos um commit, como feito acima, o histórico original é
+mantido enquanto ainda existir alguma referência a ele, através de
+branches, por exemplo. Se algum commit tiver o commit alterado como seu
+genitor, sua referência ainda será ao commit genitor original, não à
+nova versão do commit. Sendo assim, para aproveitar os commits já
+realizados, é necessário reescrevê-los para que apontem, em cadeia, às
+novas versões dos commits reescritos. Isso se chama reescrevendo a
+história, e pode ser feito com o comando git rebase, entre outros
+comandos.
+
+Veremos mais logo quando e como reescrever a história. Agora, veremos
+quando não se deve reescrevê-la.
+
 ## Fast-foward
 
 ## Merge