代码之家  ›  专栏  ›  技术社区  ›  Charles Clayton

尝试使用powershell提交到GitHub导致错误“致命:无法访问”Microsoft.powershell.Core\FileSystem“

  •  3
  • Charles Clayton  · 技术社区  · 9 年前

    我想运行一个powershell脚本,每隔一段时间自动推送到git。

    我已经为windows安装了GitHub。如果我运行“Git Shell”,会打开一个powershell Shell,但它有 git 功能已安装并在中启动 C:\Users\crclayton\Desktop\GitHub> 歪投球 H:\>

    如果我尝试使用 吉特 在正常的PowerShell中,它告诉我git不能被识别为函数。但是,如果我加载脚本 C:\Users\crclayton\AppData\Local\GitHub\shell.ps1 在正常的powershell中,我可以使用 吉特 ,但当我导航到文件夹并尝试 add commit push ,我得到错误:

    git.exe:致命:无法访问

    “Microsoft.PowerShell.Core\FileSystem::\mypath../.config/git/config”:参数无效

    C: \Users\crclayton\Desktop\autogit.ps1:7字符:4

    • git<<<&书信电报;添加*

    • CategoryInfo:NotSpecified:(致命:无法…无效参数:字符串)[],RemoteException

    • FullyQualifiedErrorId:NativeCommandError

    这是我的代码:

    #(Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1") # tried this, doesn't work
    C:\Users\crclayton\AppData\Local\GitHub\shell.ps1
    
    $msg = Read-Host "Enter commit msg"
    
    cd "C:\Users\crclayton\project\"
    git add *
    git commit -a -m $msg
    git push origin master
    

    有人能看出问题所在或提出替代方案吗?提前感谢。

    2 回复  |  直到 4 年前
        1
  •  2
  •   Volodymyr Daiev    9 年前

    如果要在powershell脚本中使用git命令,请确保在环境变量“Path”中有一条记录,其中包含git的实际路径。 在我的情况下,它看起来如所附图片所示!:

    Path environment variable

    无论如何,这个设置是在我安装Git扩展时自动添加的。如果不使用扩展,只需手动或从powershell脚本将这一行添加到“Path”变量中。

    希望这会有所帮助

        2
  •  1
  •   talves    9 年前

    用于windows的Github posh-git 所以你可能需要确认 following the manual install 由powershell使用。

    验证是否允许执行脚本 Get-ExecutionPolicy (应该是 RemoteSigned Unrestricted ). 如果未启用脚本,请以管理员身份运行PowerShell并调用 Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Confirm .