Como posso deletar commits antigos no Github via terminal?

1

Eu tenho um repositório.

Como posso excluir meus commits antigos via terminal? Minha chave SSH é carregada.

(Estou usando páginas do github, é por isso que o controle de versão não é importante, não quero desperdiçar o armazenamento do Github)

    
por LoukiosValentine79 12.06.2015 / 06:58

2 respostas

4

Você tem uma resposta muito boa para isso aqui: link

E eu cito

Note: please see alternative to git rebase -i in the comments below—

git reset --soft HEAD^

     

Primeiro, remova o commit no seu repositório local. Você consegue fazer isso   usando git rebase -i . Por exemplo, se é seu último commit, você pode fazer    git rebase -i HEAD~2 e exclua a segunda linha do editor   janela que aparece.

     

Em seguida, force o envio para o GitHub usando git push origin +master .

     

Veja Git Magic Capítulo 5: Lições de História - E Depois Algumas para mais   informações (ou seja, se você quiser remover commits antigos).

     

Ah, e se a sua árvore de trabalho está suja, você tem que fazer um git stash   primeiro e depois um git stash apply depois.

Espero que isso ajude você:)

==== EDIT ====

Na verdade, apenas reli o post ao qual me vinculei e especialmente o comentário "word of caution 2" link

A partir disso, aprendi que o git parece criar um novo commit e mover o ponteiro para ele, em vez de excluí-lo ao usar force push. Isto é, se alguém já tiver o SHA1 do seu commit, ele ainda poderá acessá-lo. Então, ao levar isso em consideração, devo recomendar que você faça o que Tomasz Klim sugeriu.

    
por 12.06.2015 / 10:17
0
  1. Crie um novo repositório.
  2. Copie todos os arquivos para ele.
  3. Destrua o repositório antigo.
por 12.06.2015 / 09:07

Tags