`git filter-repo` 命令在 Windows 上不输出任何内容

Posted

技术标签:

【中文标题】`git filter-repo` 命令在 Windows 上不输出任何内容【英文标题】:`git filter-repo` commands output nothing on Windows 【发布时间】:2021-11-20 02:35:29 【问题描述】:

我通过scoop 安装了git-filter-repo,尝试了多个git filter-repo 命令,例如git filter-repo -h,他们都记录了 nothing,没有警告或错误,只是 nothing

试过重启,重新安装,在另一台Windows 10电脑上安装,都重现了。

git-filter-repo:v2.33.0git:v2.33.0.windows.2python:v3.9.7scoop

Current Scoop version:
09200504 (HEAD -> master, origin/master, origin/HEAD) reset: skip when app instance is running (#4359)

'main' bucket:
b71f4a842 (HEAD -> master, origin/master, origin/HEAD) nunit-extension-vs-project-loader: Update to version 3.9.0

如何解决这个问题?

【问题讨论】:

使用命令 git --exec-path 查看 Git exe 的安装位置。然后在该目录中查找名为git-filter-repo 的文件。我的是一个大小约为 160 KB 的 python 脚本。如果它在那里,打开该文件并查看第一行。如果列出了“python3”,请尝试将其更改为“python”(不带 3)。 @TTT git-filter-repo 在那个文件夹中不存在,终于找到线索了,谢谢,这是什么原因? 我猜 scoop 没有达到你的预期。 ;) 已经有一段时间了,但我很确定我刚刚从 GitHub 下载了 git-filter-repo,并将该文件放到了 Git 文件夹中,进行了一次更改以删除 3,并且它起作用了。 (假设你已经安装了 python,你已经安装了。) @TTT 太棒了!我确实“从 GitHub 下载了 git-filter-repo,并将该文件放入 Git 文件夹中,进行了一项更改以删除 3”,它现在可以工作了!您可以为此发布答案,但我很好奇为什么 scoop 没有在 git-core 文件夹中生成 git-filter-repo 以及为什么将 python3 更改为 python 会使脚本工作? 【参考方案1】:

今年早些时候我在 Windows 上安装 git-filter-repo 时,以下步骤对我有用:

    下载并安装Python for Windows。确认 python 已添加到您的路径中,并且您可以从 Git 命令行运行命令 pythonpython3。 (我推荐 Git Bash。)就我而言,我的可执行文件名称是 python。 克隆git-filter-reporepo from GitHub。 运行命令git --exec-path 以查看您的Git exe 目录。 从git-filter-repo repo 的根目录,将文件git-filter-repo(约160KB)复制到您的Git exe 目录中。 在使用 Git 的命令行中,键入命令 git filter-repo。如果有效,您应该会收到“未指定参数”消息。 如果您没有收到消息或类似“/usr/bin/env: 'python3': No such file or directory”的错误消息,请编辑您在步骤中复制到 Git exe 目录中的文件 git-filter-repo #4,将第一行从“python3”改为“python”。

现在惊叹于git-filter-repo快速和真棒。

【讨论】:

问题是在第 6 步,没有记录任何消息,这是最难调试的情况。 @WenfangDu 但那只是你用scoop的时候吧?如果您手动执行第 4 步,我认为您不会在第 6 步中得到任何输出。 我认为根本原因是python3 本身没有记录任何内容,而scoopgit-filter-repo.ps1 中使用了它,这反过来又导致运行git-filter-repo.ps1 没有记录任何内容。

以上是关于`git filter-repo` 命令在 Windows 上不输出任何内容的主要内容,如果未能解决你的问题,请参考以下文章

git- win10 cmd git log 中文乱码(方框)

关于安装Git后,项目目录右键菜单无Git Bash Here命令的选项

在win10下怎么安装git的服务

WIN10中的Git Bash Ctrl C无法终止

如何在windows 安装git shell

win10桌面的git库怎么删除