he creado accidentalmente Las confirmaciones de "desconocido" en mi repositorio, y decidí intentar ejecutar un comando desde here:Git - Duplicar cometer tema
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
Al principio pensé que todo estaba bien, hasta que me di cuenta en gitk que cada commit antes de ejecutar esto fue duplicado, no simplemente editado como originalmente pensé.
¿Es posible limpiar esto?
EDIT: OK, gitk está mostrando tanto los viejos commit (las que tienen los commiters "desconocidos" mezclados) y las nuevas confirmaciones (reescritas los unos), dividido en un cierto momento en torno a mitad de camino. Piense en un montón de commits, luego duplique (y con las ediciones) y apílelo sobre los originales. Lo que quiero hacer es, si es posible, eliminar los originales.
Veamos si obtengo esto: ¿tiene un árbol de confirmación que se parece a '...-- a - b - c - (*) - a '- b' - c '--d - e', donde '(*)' es la confirmación en la que ejecutaste el comando incorrecto, '[abc]'' son confirmaciones erróneamente duplicadas que deseas eliminar, y '[de]' te confirma ¿querer guardar? –
Bueno, es más complicado debido a la bifurcación, pero básicamente como dijiste, pero quiero mantener los '' 'ya que tienen los campos del autor corregidos. – unrelativity
De acuerdo, ¿quiere eliminar [abc], pero mantener [abc] '? –