2016-05-27 4 views
0

Ich versuche, die Autoren aller Commits in einem lokalen Repository umzubenennen, bevor ich sie auf GitHub hochlade, aber ich bekomme eine Fehlermeldung, wenn der Name ein Leerzeichen enthält. Das Repository wurde ursprünglich nicht mit einem Namen konfiguriert und alle Commits stammen vom selben Benutzer. HierLeerzeichen in Git --commit-filter für GIT_AUTHOR_NAME

ist das Skript, das ich verwendet haben:

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 

Und die Fehler, die sich ergibt:

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>...]' 

habe ich versucht, das Problem zu lösen, indem sie den Raum mit \ Flucht jedoch habe ich nur konnte das Skript erfolgreich ausführen, indem es den Platz entfernte, z FirstName LastName wird FirstNameLastName

+2

Bist du auf Windows? Nein * gesund * Shell verhält sich so. Windows ... nicht so gesund. :-) Ich kenne nicht den richtigen Weg, dies zu bewältigen, andere als "installieren Sie eine gesunde Shell und/oder vermeiden Sie Windows" (Ich benutze den Latte r Methode). – torek

+0

@torek Ich benutze Windows! Obwohl Probleme wie diese mich überdenken lassen ... – makinbacon

+0

Scheint, ein Windows-Problem zu sein. Skript läuft in Powershell nicht richtig, funktioniert aber in Git Bash einwandfrei. Hmm ... Macs ... – makinbacon

Antwort

0

scheint ein Problem mit Powershell unter Windows zu sein. Nach dem Git Bash Schalt Das Skript lief korrekt mit den Leerzeichen

1

Versuchen

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 

ich die "geändert" und vice versa und doppelte Anführungszeichen um $ hinzugefügt @

+0

Ich hatte das schon versucht, bevor ich die Frage gepostet habe, und es hat nicht funktioniert. Trotzdem danke. – makinbacon

+0

Seltsam - Ich habe es auf meinem Windows 10-Rechner versucht und es hat funktioniert. – DAXaholic

+0

Welche Shell verwenden Sie? – makinbacon

Verwandte Themen