Intentar comprometerse con GitHub utilizando powershell da como resultado un error "fatal: no se puede acceder a 'Microsoft.PowerShell.Core \ FileSystem'

Quiero ejecutar un script de powershell para presionar git automáticamente cada cierto time.

Tengo instalado GitHub para Windows. Si ejecuto "Git Shell", se abre un shell powershell pero tiene la function git instalada y se inicia en C:\Users\crclayton\Desktop\GitHub> no en H:\>

Si trato de usar git en una PowerShell normal, me dice que git no se reconoce como una function. Sin embargo, si cargo la secuencia de commands C:\Users\crclayton\AppData\Local\GitHub\shell.ps1 en C:\Users\crclayton\AppData\Local\GitHub\shell.ps1 normal, puedo usar git , pero cuando navego a la carpeta e bash add o commit o push , get el error:

git.exe: fatal: no se puede acceder

'Microsoft.PowerShell.Core \ FileSystem :: \ mypath ../. Config / git / config': argumento no válido en

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

  • git <<<< agregar *

  • CategoryInfo: NotSpecified: (fatal: no puede … argumento inválido: String) [], RemoteException

  • FullyQualifiedErrorId: NativeCommandError

Este es mi código:

 #(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 

¿Alguien puede ver lo que está mal o sugerir una alternativa? Gracias por adelantado.

Si desea usar los commands de git dentro de un script de powershell, asegúrese de tener un logging en la variable de entorno 'Path' con la ruta real del git. ¡En mi caso se ve como se muestra en la image adjunta !:

Variable de entorno de ruta

De todos modos, esta configuration se agregó automáticamente cuando instalé las extensiones de Git. Si no usa extensiones simplemente agregue esta línea a la variable 'Path' eather manualmente o desde el script de powershell.

Espero que esto ayude

Github para Windows utiliza posh-git por lo que es posible que desee confirmar que está siguiendo la installation manual que PowerShell utilizará.

Verifique que la ejecución de scripts esté permitida con Get-ExecutionPolicy (debe ser RemoteSigned o Unrestricted ). Si los scripts no están habilitados, ejecute PowerShell como administrador y llame a Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Confirm .