2012-08-06 35 views
8

git-notes viene utilizzato per aggiungere o ispezionare le note dell'oggetto. Come posso cancellare un commit git-notes, quindi il commit del comando git-notes non esiste nella cronologia git. Voglio cancellare git-notes commit, non intendo il "git-notes remove", che rimuove solo quelle note e ne fa un altro commit.Come eliminare git-notes commit?

+0

Si prega di fare riferimento a questa risposta - http://stackoverflow.com/a/18507031 – Igor

risposta

-2

git notes non crea un proprio commit.

Potrebbe essere effettivamente utilizzato per aggiungere (git notes add) alcune note a un commit esistente.

Quando si chiama git notes remove, le note vengono rimosse e di nuovo non viene eseguito alcun commit.

+0

'git notes' non crea un proprio commit, tuttavia, verrà mostrato nella cronologia (' git log --all'). C'è un modo per cancellare 'git notes', in modo che non venga mostrato nella cronologia. Grazie! – Fei

5

Come git memorizza le note su un ramo separato (orfano) (puntato da refs/notes/commits per impostazione predefinita), è possibile creare diramazione, puntare verso la testa delle note, modificarlo come al solito (utilizzando rebase, ad esempio) e aggiornare le note di riferimento a la punta di quel ramo:

// create branch pointing to the tip of notes branch 
git checkout -B notes-editing refs/notes/commits 

// do whatever you want with notes-editing branch 
// for example, git reset --hard HEAD^ to remove last commit 

// reset notes reference to the tip of temporary branch 
git update-ref refs/notes/commits notes-editing 
// remove temporary branch 
git checkout master 
git branch -D notes-editing 
+0

l'ultimo passo: 'git branch -D' non cancella' git notes' commette come il solito ramo. – Fei

+3

Vuoi rimuovere tutte le note completamente? Quindi dovresti semplicemente rimuovere il file '.git/refs/notes/commit'. – max

+0

@max Penso che rimuovere '.git/refs/notes/commits 'rimuova solo il riferimento (locale) alle note, ma non gli oggetti note effettivi –

1

git notes prune Rimuove tutte le note per gli oggetti non esistenti/irraggiungibile.