You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows系统下git-filter-repo安装与运行失败求助

Windows系统下git-filter-repo安装与运行失败求助

兄弟我之前在Windows上折腾git-filter-repo也踩过一模一样的坑!各种命令试了个遍都找不到,后来才发现是Windows的PATH和脚本执行逻辑和Linux不一样,给你捋捋最靠谱的解决办法:

先排查你大概率踩的几个坑

  • 文件扩展名藏坑:Windows默认会隐藏已知文件扩展名,你之前复制的git-filter-repo.py说不定实际是git-filter-repo.py.txt,Python当然找不到!先打开文件资源管理器的「查看」选项卡,勾选「文件扩展名」,确认你的脚本后缀确实是.py
  • PATH没生效:改完PATH后一定要重启终端(不管是CMD、PowerShell还是Git Bash),不然新的路径根本不会加载,白忙活!
  • 命令调用错了git filter-repo这种写法是把它当成Git的内置子命令,但默认情况下Git根本不认识它,得直接调用Python脚本才行。

一步一步解决的具体操作

第一步:准备好正确的脚本文件

直接下载git-filter-repo的纯Python脚本(官方单文件版本),保存到一个固定的文件夹里,比如C:\dev-tools,文件名就叫git-filter-repo.py,务必确认后缀是.py

第二步:配置系统PATH(让终端能找到脚本)

  1. 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
  2. 在「系统变量」里找到「Path」,点击「编辑」
  3. 点击「新建」,把你放脚本的文件夹路径(比如C:\dev-tools)加进去,然后一路点「确定」保存
  4. 重启你的终端!这步绝对不能省!

第三步:在你的Git仓库里运行脚本

  • 如果用CMD/PowerShell:进入仓库目录后,直接运行
    python git-filter-repo.py [你的操作参数]
    
    要是你的系统默认Python是3.x版本,就用python3代替python
  • 如果用Git Bash(推荐用这个,更贴近Linux环境):
    方法一:把脚本复制到Git的usr/bin目录下(比如C:\Program Files\Git\usr\bin),然后在Git Bash里给脚本加执行权限:
    chmod +x /usr/bin/git-filter-repo.py
    
    之后就能直接在仓库里运行git-filter-repo.py [参数],嫌名字长的话还可以把脚本改名叫git-filter-repo,直接用git-filter-repo [参数]调用。
    方法二:直接用绝对路径调用脚本,比如:
    python /c/dev-tools/git-filter-repo.py [参数]
    
    (Git Bash里用/c代表Windows的C盘)

回头看你之前的操作,这几种组合其实应该能成

你之前把git-filter-repo.py放到PATH里,然后运行python git-filter-repo.py,大概率是没重启终端导致PATH没生效,或者脚本扩展名不对。

备注:内容来源于stack exchange,提问作者Pro Q

火山引擎 最新活动