From 01304456fe24bcd0dae68b6ec5b0184d3e251886 Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Sat, 28 Jun 2014 11:35:50 -0300 Subject: [PATCH] =?utf8?q?Introdu=C3=A7=C3=A3o=20a=20reescrevendo=20a=20hi?= =?utf8?q?st=C3=B3ria.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Um pouco sobre o que é o histórico em Git, e quais as implicações em alterar um commit e a cadeia de commits. --- Merge.mdwn | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Merge.mdwn b/Merge.mdwn index 033aec8..3c5c709 100644 --- a/Merge.mdwn +++ b/Merge.mdwn @@ -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 -- 2.20.1