sbaglio ho creato impegna per "sconosciuto" nel mio repository, e ho deciso di provare a eseguire un comando da here:Git - Duplicate commettere problema
git filter-branch --commit-filter '
if [ "$GIT_COMMITTER_NAME" = "unknown" ];
then
GIT_COMMITTER_NAME="..";
GIT_AUTHOR_NAME="..";
GIT_COMMITTER_EMAIL="...";
GIT_AUTHOR_EMAIL="...";
git commit-tree "[email protected]";
else
git commit-tree "[email protected]";
fi' HEAD
In un primo momento ho pensato che tutto andava bene, fino a quando ho notato in gitk che ogni commit prima di eseguire questo è stato duplicato, non semplicemente modificato come inizialmente pensavo.
E 'possibile pulire questo?
EDIT: OK, gitk sta mostrando sia i vecchi commit (quelle con i commiters "sconosciute" mescolati) e il nuovo commit (quelli riscritti), contempla a un certo punto intorno a metà strada. Pensa a una serie di commit, quindi duplicati (e con le modifiche) e impilati sopra quelli originali. Quello che voglio fare è se possibile, rimuovere quelli originali.
Vediamo se sto ottenendo questo: hai un albero di commit che assomiglia a '...-- a - b - c - (*) - a '- b' - c '--d - e', dove '(*)' è il commit su cui è stato eseguito il comando bad, '[abc]'' sono erroneamente duplicati commit che vuoi eliminare, e '[de]' ti impegna vuoi mantenere? –
Beh, è più complicato a causa della ramificazione, ma fondamentalmente come hai detto tu, ma voglio mantenere i '' 'come hanno i campi dell'autore corretti. – unrelativity
Ok, quindi vuoi cancellare [abc], ma mantenere [abc] '? –