如何从自定义shell使用GitHub for Windows附带的posh-git?

Ser*_*hov 23 powershell posh-git github-for-windows

安装GitHub for Windows是一个很好的方式来获得初学者的git Windows应用程序,msysgit和posh-git - 但是你只能通过调用"GitHub.appref-ms --open-shell"来启动带有posh-git的git shell.

我想要做的是启动一个控制台,加载PowerShell,并使用Gi​​thub for Windows附带的posh-git - 但我无法想办法将它加载到PowerShell中.

更新:我不想单独安装Git for Windows,因为已经安装了msysgit.

通过从AppData\Local\Github文件夹调用shell1.ps1脚本,我能够取得一些进展 - 它让我调用git.但它没有显示我所在的分支,与GitHub for Windows中的"Git Shell"相反.

Ser*_*hov 57

虽然@dahlbyk的答案没有提供解决方案,但它仍然把我推向了正确的方向.问题是,$ env:Phil's Haack博客文章中引用的posh-git环境未定义,因此在PowerShell配置文件脚本中测试它什么都不做.

但是有效的是从同一个脚本运行shell.ps1和profile.example.ps1.这是像我这样的PowerShell noobs的配方:

  1. 在活动用户的Documents\WindowsPowerShell文件夹中编辑或创建Microsoft.PowerShell_profile.ps1(如果该文件夹不存在,则创建该文件夹)
  2. 添加以下2行:

    . (Resolve-Path "$env:LOCALAPPDATA\GitHub\shell.ps1")
    . $env:github_posh_git\profile.example.ps1
    
    Run Code Online (Sandbox Code Playgroud)

  • 对于想要Posh-Git的Console2/ConsoleZ选项卡的人来说,这是一个快捷方式.将选项卡的Shell属性设置为:`%SystemRoot%\ system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -Command"&{.(Resolve-Path"$ env:LOCALAPPDATA\GitHub\shell.ps1" );.$ env:github_posh_git\profile.example.ps1;}"` (3认同)

dah*_*byk 7

http://haacked.com/archive/2012/05/21/introducing-github-for-windows.aspx,将其放入您的个人资料中,从GitHub for Windows加载posh-git:

# If Posh-Git environment is defined, load it.
if (test-path env:posh_git) {
    . $env:posh_git
}
Run Code Online (Sandbox Code Playgroud)