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

Wen*_* Du 13 python windows git scoop-installer git-filter-repo

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

尝试重新启动、重新安装并在另一台 Windows 10 计算机上安装它,全部重现。

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

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
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题?

TTT*_*TTT 64

(现已针对较新的 Python 安装程序进行更新。)

\n

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

\n
    \n
  1. 下载并安装适用于 Windows 的 Python。在较新的安装程序中,您需要进入“高级选项”以确保将 Python 添加到您的路径中:在此输入图像描述

    \n
  2. \n
  3. 确认 python 已添加到您的路径中,并且您可以运行该命令python --versionpython3 --version从 Git 命令行运行。(我推荐 Git Bash。)在我的例子中,我的可执行文件名称是python,如果您的可执行文件名称也是,您将在下面的步骤 #7 中需要它。

    \n
  4. \n
  5. 从 GitHub克隆git-filter-repo

    \n
    git clone https://github.com/newren/git-filter-repo.git\n
    Run Code Online (Sandbox Code Playgroud)\n
  6. \n
  7. 运行命令git --exec-path查看您的 Git exe 目录。

    \n
  8. \n
  9. git-filter-repo存储库的根目录中,将文件git-filter-repo(大约 160KB)复制到 Git exe 目录中。

    \n
  10. \n
  11. 在使用 Git 的命令行中,键入命令git filter-repo。如果有效,您应该收到消息“未指定参数”。您可以跳过步骤#7。如果它不起作用,则可能是您的 python exe 不是python步骤python3#2 中确定的那样。转到下一步。

    \n
  12. \n
  13. 如果您没有收到消息或收到类似于“/usr/bin/env: \xe2\x80\x98python3\xe2\x80\x99: No such file or directory”的错误消息,请编辑复制git-filter-repo到 Git exe 中的文件目录中的步骤#5,并将第一行从“python3”更改为“python”。

    \n
  14. \n
\n

现在你会惊讶于它的速度有多、有多棒git-filter-repo

\n

仍有问题吗?如果您没有在步骤 #1 中添加环境变量,有些人在步骤 #7 中很幸运,将他们的 python 命令更改为“py”。这是 python 启动器,可以自动检测计算机上安装的最高版本。更多信息请点击这里。我应该指出,这对 python 3.10.7 不起作用。实际上,我首先尝试了这一点,但最终重新安装并启用了“将 python 添加到环境变量”选项,如上面步骤 #1 中所述。

\n

  • 如果您安装了 Python 3.10 或更高版本,则您需要放入文件中的似乎是“py”,而不是“python3”或“python”。 (3认同)
  • 在 Windows 上:步骤号 6,但有另一条消息 '/usr/bin/env: 'python3': Permission returned' :也可以通过将 python3 重命名为 python 来解决;注意:(如果你在命令行中运行 python3,你会发现它不存在,对我来说,在 powershell 中,Windows Store 会弹出。但是运行“python --version”会显示与 Store“promotes”相同的版本 (2认同)

may*_*ʎɐɯ 11

就我而言,我遵循了 Windows 11 的答案,这是我的经验。

  1. 我从 Windows 应用商店或此链接安装了 Python https://www.python.org/downloads 在此输入图像描述

  2. 我运行pip3 install git-filter-repopython3 -m pip install --user git-filter-repo仅针对当前用户。

我收到这条消息:

已满足要求: git-filter-repo inc:\users\username\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages

  1. 现在复制该文件夹但替换site-packagesscripts.

小路: c:\users\username\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\scripts

git-filter-repo.exe您将在脚本文件夹中找到。

  1. 跑步git --exec-path

你会得到

C:/Program Files/Git/mingw64/libexec/git-core
Run Code Online (Sandbox Code Playgroud)
  1. 复制git-filter-repo.exe到步骤 4 中的文件夹 (C:/Program Files/Git/mingw64/libexec/git-core)。

现在您应该能够运行 git filter-repo

  • 今天在 Windows 10 上为我工作 - 只有 1 个细微差别,而不是 c:\users\username\appdata\local\packages\...\python310\site-package,它安装在此处:C:\Users\username\ AppData\Local\Programs\Python\Python311\Lib\site-packages。我必须用“脚本”替换“Lib\site-packages”。不确定这是否是由于 Windows 10 或 Python 311 与 310 或我在安装过程中所做的选择所致。无论如何,这篇文章让我到达了那里! (2认同)