Regravando histórico do GIT/GITHUB

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Regravando histórico do GIT/GITHUB

Mensagem por JoséQuintas »

É muito útil isso de regravar histórico.
É algo como refazer as alterações passo a passo.

Imagine voce alterar seus fontes, e de repente quer voltar atrás, mas seu backup vai bagunçar muita coisa, porque não quer voltar tudo.

O git parecido com isso: situações de backup, com o que foi alterado entre um e outro.
salvagit.png
O uso do dia a dia é esse: ele tá mostrando o que foi mexido.
Aqui eu decido se salvo ou não.
Basta clicar
salvagit2.png
O que clicar vai lá pra baixo, e coloca um texto descrevendo o que foi feito.
Clica no commit tá salvo.
Se clicar no push, ele envia a situação atual para github, nas nuvens.
Esse é o dia a dia normal.
Pode ser um ou mais fontes.
Pode ou não usar GITHUB, ou outro lugar, salvar na internet não tem a ver com o que ele faz.
Mas lógico, se formatar a máquina pode perder esse histórico, se não estiver nas núvens.
.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Regravando histórico do GIT/GITHUB

Mensagem por JoséQuintas »

Só lembrando: vale para os fontes do harbour também, ou hwgui, ou outro, seja github ou sourceforge
salvagit3.png
Na opção acima, temos acesso a todo histórico.
salvagit4.png
Até aqui, isso tudo é interessante pra conferir/ver o que foi alterado.
No caso do harbour, de repente detectar o que causou problema.

Até aí é normal, todo mundo conhece.
Dá pra anular alteração, por exemplo.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Regravando histórico do GIT/GITHUB

Mensagem por JoséQuintas »

Convém avisar que no início tem a configuração, configurei PNOTEPAD como editor de texto.

Código: Selecionar todos

git rebase -i HEAD~10
Isso indica que vou mexer no histórico, nas últimas 10 alterações. I=interativo.
É aberto o editor de textos
hist.png
Aí estão as alterações.
Posso mudar a ordem, apagar alteração (drop), juntar alterações (squash), ALTERAR A ALTERAÇÃO (edit)
Ao salvar esse arquivo, tudo começa.

É importante lembrar que precisa concluir tudo, abortando ou continuando.
Todos os fontes/arquivos sofrem alterações durante o processo.
Começou tem que acabar, de um jeito ou de outro, senão o resultado pode ser catastrófico.

Código: Selecionar todos

git rebase --abort
ou
git rebase --continue
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Regravando histórico do GIT/GITHUB

Mensagem por JoséQuintas »

alt2.png
vou usar essa alteraçào como exemplo.
Alterei fontes VISUAL BASIC além de fontes do harbour.
alt3.png
digitei o comando, alterei o pick pra edit, vou mexer naquela alteração
fecho o editor de textos salvando isso.
parou.png
Ele parou e me avisou de opçòes.
posso abortar ou continuar, ou outras que não conheço direito.


Abre-se o git, marca "ammend last commit"

VOLTEI NO TEMPO
Voltei para o ponto de quando salvei aquela alteração
Quero separar a parte do Visual Basic, então desmarco pra não salvar, e eles voltam pra cima
naosalvos.png
OK ? alterei pra salvar somente PRG, e não FRM.
cliquei commit, salvou

Agora a outra parte, do VB6:
altx.png
Marquei, coloquei texto, cliquei em commit pra salvar.
Era uma alteração com tudo junto, agora são duas alterações.
fecho o git.

pra finalizar, GIT REBASE --CONTINUE

abrir o git, olhar o histórico
2alt.png

Neste momento tenho 2 históricos.
A história com tudo junto
A história separado em duas

Por enquanto posso cancelar o que fiz ou não.
Note que também está em destaque a posição que está salva nas nuvens.
Por enquanto foi só na máquina.
Anexos
alt4.png
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Regravando histórico do GIT/GITHUB

Mensagem por JoséQuintas »

É trabalhoso ?
Depende do ponto de vista, depende da situação.

Imagine alterar milhares de fontes e ter problema com alguns.
aqui o git está conferindo tudo, se deixar escapar uma mudança, ele vai mostrar conflito., e não vai deixar mudar.
E todas as etapas estarão salvas.
Vai ter situação anterior e atual ao mesmo tempo.
Nem sempre do jeito que a gente grava vai ser a melhor opção pra desfazer alguma coisa.
Isso permite fazer ajustes.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder