尝试使用PowerShell提交GitHub导致错误"致命:无法访问' Microsoft.PowerShell.Core \ FileSystem"

时间:2015-02-24 00:01:35

标签: git powershell github windows-7 github-for-windows

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

我为Windows安装了GitHub。如果我运行“Git Shell”,则会打开一个powershell shell,但它已安装git函数并从C:\Users\crclayton\Desktop\GitHub>开始而不是H:\>

如果我尝试在普通的PowerShell中使用git,它会告诉我git不被识别为函数。但是,如果我在正常的PowerShell中加载脚本C:\Users\crclayton\AppData\Local\GitHub\shell.ps1,我可以使用git,但是当我导航到该文件夹​​并尝试addcommit或{{ 1}},我收到错误:

  

git.exe:致命:无法访问

     

'Microsoft.PowerShell.Core \ FileSystem :: \ mypath ../。config / git / config':无效的参数At

     

C:\ Users \ crclayton \ Desktop \ autogit.ps1:7 char:4

     
      
  • git<<<<添加*

  •   
  • CategoryInfo:NotSpecified :(致命:无法... nvalid argument:String)[],RemoteException

  •   
  • FullyQualifiedErrorId:NativeCommandError
  •   

这是我的代码:

push

任何人都可以看到错误或建议替代方案吗?提前谢谢。

2 个答案:

答案 0 :(得分:2)

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

Path environment variable

无论如何,当我安装Git Extensions时,会自动添加此设置。如果您不使用扩展程序,只需将此行添加到“路径”中即可。手动变量或从PowerShell脚本中获取变量。

希望这会有所帮助

答案 1 :(得分:1)

Windows的Github使用posh-git,因此您可能需要确认PowerShell使用 following the manual install

  

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