Github 使用cygwin在Windows 10命令提示符下运行.sh文件
我正在尝试更改GitHub上推送提交的作者名称。我正在一步一步地按照这里的说明进行操作:但我仍停留在第三步。我目前正在Windows上使用命令提示符来执行此操作Github 使用cygwin在Windows 10命令提示符下运行.sh文件,github,command-line,Github,Command Line,我正在尝试更改GitHub上推送提交的作者名称。我正在一步一步地按照这里的说明进行操作:但我仍停留在第三步。我目前正在Windows上使用命令提示符来执行此操作 #!/bin/sh git filter-branch --env-filter $' OLD_EMAIL=“yongjeffrey@hotmail.com" CORRECT_NAME=“Jeffrey Yong" CORRECT_EMAIL=“jeffreyyong10@gmail.com" if [ "$GIT_COMMITTER
#!/bin/sh
git filter-branch --env-filter $' OLD_EMAIL=“yongjeffrey@hotmail.com" CORRECT_NAME=“Jeffrey Yong" CORRECT_EMAIL=“jeffreyyong10@gmail.com" if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL" fi if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ] then
export GIT_AUTHOR_NAME="$CORRECT_NAME" export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL" fi ' --tag-name-filter cat -- --branches --tags
因此,我在命令提示符下复制并粘贴了上面的代码,然后按enter键,但似乎出现了错误。我已经安装了Cygwin,我想知道运行上述代码的最佳方式是什么
bash shellpro.sh
以执行脚本或者,您可以简单地在项目文件夹中创建文件,然后双击它以使用git bash(windows中的CygWin)执行它。我意识到这有点古老,但我遇到了这个问题。Windows 10上的Git for Windows的bash环境是一个定制的Cygwin环境(看起来) 我做了以下工作,以获得有关Git在筛选器分支中如何看待其环境的一些信息:
git filter-branch --env-filter "printenv; echo" -- HEAD~..HEAD
这显示了各种方便的路径,如OLDPWD
。但我认为将脚本放在路径的某个地方是最安全的
假设%USERPROFILE%\bin
在您的路径中,您将脚本放入%USERPROFILE%\bin\filterscript.sh
#!/bin/bash
OLD_EMAIL="yongjeffrey@hotmail.com"
CORRECT_NAME="Jeffrey Yong"
CORRECT_EMAIL="jeffreyyong10@gmail.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ] then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
然后,您可以这样调用它:
git filter-branch --env-filter "source filterscript.sh" --tag-name-filter cat -- --branches --tags
注意源代码的使用。脚本需要源代码,否则环境更改将丢失,执行脚本的子shell将终止。寻源使稍后将执行提交的sh
实例获得环境更改。如果省略了源代码,则会特别痛苦,因为调试时,脚本似乎确实在执行(而且确实在执行),但不在正确的shell中。您好,谢谢您的回复,我按照您的说明进行了操作,但我收到了以下错误:重写f66896628ba48d082c40d06c1ee8020df0d2ec9f(1/29)(0秒过去,剩余0秒)C:\Program Files\Git\mingw64/libexec/Git core\Git筛选器分支:eval:line 357:查找匹配项时出现意外EOF
“'C:\Program Files\Git\mingw64/libexec/Git core\Git筛选器分支:eval:line 358:语法错误:文件意外结尾`这是否回答了您的问题?