2016-05-27 1 views
0

Je tente de renommer les auteurs de tous les commits dans un dépôt local avant de les télécharger sur GitHub, mais je reçois une erreur si le nom contient un espace. Le référentiel n'a pas été configuré à l'origine avec un nom et toutes les validations proviennent du même utilisateur.Espace dans Git --commit-filtre pour GIT_AUTHOR_NAME

Voici le script que je l'ai utilisé:

git filter-branch --commit-filter ' 
GIT_AUTHOR_NAME="FirstName LastName"; 
GIT_AUTHOR_EMAIL="[email protected]"; 
GIT_COMMITTER_NAME="FirstName LastName"; 
GIT_COMMITTER_EMAIL="[email protected]"; 
git commit-tree "[email protected]";' HEAD 

Et l'erreur que les résultats:

fatal: ambiguous argument 'LastName; 
[email protected]; 
GIT_COMMITTER_NAME=FirstName': unknown revision or path not in the working tree. 
Use '--' to separate paths from revisions, like this: 
'git <command> [<revision>...] -- [<file>...]' 

J'ai essayé de résoudre le problème en échappant à l'espace avec \ mais je ne été en mesure d'exécuter avec succès le script en supprimant l'espace, par exemple FirstName LastName devient FirstNameLastName

+2

Êtes-vous sur Windows? non * sain d'esprit * shell se comporte comme ça. de Windows ... pas sain d'esprit. :-) Je ne sais pas la bonne façon de traiter ce cela, d'autres que "installer un shell sain et/ou éviter Windows" (j'utilise le latte méthode r). – torek

+0

@torek J'utilise Windows! Bien que ce genre de questions me font ... reconsidère – makinbacon

+0

semble être un problème de Windows. Script ne fonctionnerait pas correctement dans Powershell mais fonctionne parfaitement dans Git Bash. Hmm ... Mac ... – makinbacon

Répondre

0

semble être un problème avec Powershell sur Windows. Après le passage à Git Bash le script a couru correctement avec les espaces.

1

Essayez

git filter-branch --commit-filter " 
GIT_AUTHOR_NAME='FirstName LastName'; 
GIT_AUTHOR_EMAIL='[email protected]'; 
GIT_COMMITTER_NAME='FirstName LastName'; 
GIT_COMMITTER_EMAIL='[email protected]'; 
git commit-tree ""[email protected]"";" HEAD 

J'ai changé le «à» et vice-versa, et a ajouté des guillemets doubles autour de $ @

+0

j'avais déjà essayé avant de poster la question, et cela n'a pas fonctionné. Merci quand même. – makinbacon

+0

étrange - je l'ai essayé sur ma machine Windows 10 et cela a fonctionné. – DAXaholic

+0

Quelle coque utilisez-vous? – makinbacon