2015-02-24 3 views
1

Я хочу запустить скрипт powershell для автоматического нажатия на git каждый раз так часто.Попытка зафиксировать GitHub с помощью powershell приводит к ошибке «фатальный: не удается получить доступ» Microsoft.PowerShell.Core FileSystem »

У меня установлен GitHub для окон. Если я запускаю «Git Shell», появится оболочка PowerShell открывается, но она имеет git функция установлена ​​и запускается в C:\Users\crclayton\Desktop\GitHub> не H:\>

Если я пытаюсь использовать git в нормальном PowerShell, он говорит мне, что мерзавец не признается функция. Однако, если я загрузить скрипт C:\Users\crclayton\AppData\Local\GitHub\shell.ps1 в нормальном PowerShell, я могу использовать git, но когда я перейти к папке и попытаться add или commit или push, я получаю ошибку:

git.exe : fatal: unable to access

'Microsoft.PowerShell.Core\FileSystem::\mypath../.config/git/config': Invalid argument At

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

  • git <<<< add *

  • CategoryInfo : NotSpecified: (fatal: unable t...nvalid argument: String) [], 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

Если вы хотите использовать команды Git внутри Powershell скрипт убедитесь, что у вас есть запись в переменном окружении «Path» с фактическим путем к мерзавцу. В моем случае это выглядит, как показано на прилагаемой картинке !:

Path environment variable

Во всяком случае, этот параметр был автоматически добавлен, когда я установил Git Extensions. Если вы не используете расширения, просто добавьте эту строку в переменную «Путь» вручную или из сценария powershell.

Надеюсь, это поможет

+0

Спасибо! Это сработало, но только после того, как я нашел 'git.exe' затерянным в следующей папке:' C: \ Users \ crclayton \ AppData \ Local \ GitHub \ PortableGit_c2ba306e536fdf878271f7fe636a147ff37326ad \ bin'. –

1

Github для окон использует posh-git, так что вы можете подтвердить, что вы following the manual install для использования PowerShell.

Verify execution of scripts is allowed with Get-ExecutionPolicy (should be RemoteSigned or Unrestricted). If scripts are not enabled, run PowerShell as Administrator and call Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Confirm .

Смежные вопросы