2014-09-16 10 views
5

Ho commesso un errore errato e l'ho inserito nel mio repository privato di bitbucket.org. Come posso rimuovere completamente questo commit dalla cronologia?Rimuovere completamente il commit dalla cronologia di Bitbucket

Ho provato quanto segue:

git reset --hard HEAD~1 
git reset HEAD~ 
git commit -m "some message" 
git push -f 

ho fatto questo basato sulla soluzione da Bitbucket git reset

Eppure, commit precedenti sono accessibili.

Sul lato destro del pannello repository, nel recente attività, c'è un link alle variazioni di impegnarsi, che ho voluto per rimuovere dalla storia.

È questa informazione (la storia che avevo intenzione di eliminare) recuperati dal mio repository?

O

  1. E 'questa una caratteristica di bitbucket.org?
  2. Ho fatto qualche passo errato? Quale?
  3. Come rimuovere completamente un commit dalla cronologia su bitbucket.org?
+0

Prova [approccio raccomandato di GitHub] (https://help.github.com/articles/remove-sensitive-data). – Ryan

+0

Il problema è che non riesco a capire se il commit è ancora accessibile perché ho sbagliato qualche passo, o questa è una caratteristica speciale di Bitbucket. Non vi è alcun segno di commit cancellato in 'git log' o feed RSS di Bitbucket per repository, ma alcuni link nel pannello della cronologia mi indirizzano a quei commit cancellati – Nima

+0

Ho lo stesso problema. Inoltre, posso accedere a questi commit cancellati da Jira. – Jorj

risposta

1

È possibile ottenere ciò eliminando il commit e forzando il push del ramo aggiornato sul telecomando. Nota: attenzione se altre persone hanno verificato il ramo.

Supponendo la vostra storia è come il seguente e si desidera eliminare commit 200:

commit 300 
commit 200 
commit 100 

procedere come segue:

git rebase -i HEAD~3

Ora, eliminare la linea di commit 200.

Salvare il file, e quindi forzare spingere il ramo al telecomando:

git push -f origin <branch_name> 
+0

Grazie per la risposta, ma come ho sottolineato nella domanda ho già provato 'git push -f' – Nima