如何恢复'git filter-branch -f --env-filter'

Whi*_*r0w 4 git commit revert git-filter-branch

我是一个关于git的新手,通常是git commit,pull和push是我唯一的命令.最近注意到我的提交设置为默认名称和电子邮件,并希望更改它.愚蠢地我运行了这个,我在某个帖子找到了:

git filter-branch -f --env-filter "GIT_AUTHOR_NAME='Newname'; GIT_AUTHOR_EMAIL='newemail'; 
GIT_COMMITER_NAME='Newname'; GIT_COMMITTER_EMAIL='newemail';" HEAD
Run Code Online (Sandbox Code Playgroud)

我认为这只会改变我的提交,但它会更改回购邮件中的所有提交以获取我的姓名和电子邮件.当然要继续我的"愚蠢",我推动了变化.

此外,我似乎已经失去了历史记录,github上的所有提交似乎也有重复的条目.一个用我的名字和电子邮件和原始的.

有办法还原这个吗?也许使用前一个拉的副本来推送原始信息?

ral*_*nja 7

如果在执行filter-branch命令后没有做任何事情来清理松散的对象,则可以重置master分支(假设在给出命令时HEAD是master):

git reset --hard refs/original/master
Run Code Online (Sandbox Code Playgroud)