web-dev-qa-db-ja.com

カスタムシェルからGitHubfor Windowsに付属のposh-gitを使用するにはどうすればよいですか?

GitHub for Windowsをインストールすることは、初心者のgit Windowsアプリであるmsysgitとposh-gitを一度に取得するための優れた方法ですが、「GitHub.appref-ms --open-Shell」を呼び出すことによってのみ、posh-gitでgitShellを起動できます。

私がやりたいのは、コンソールを起動し、PowerShellを読み込んで、Github for Windowsに付属のposh-gitを使用することですが、PowerShellに読み込む方法がわかりません。

更新:msysgitがすでにインストールされているため、Git forWindowsを個別にインストールしたくありません。

AppData\Local\GithubフォルダーからShell1.ps1スクリプトを呼び出すことで、ある程度の進歩を遂げることができました。これにより、gitを呼び出すことができます。ただし、GitHub for Windowsの「GitShell」とは異なり、現在のブランチは表示されません。

23

@dahlbykの回答は解決策を提供しませんでしたが、それでも私を正しい方向に押し進めました。問題は、PhilのHaackブログ投稿で参照されている$ env:posh-git環境が定義されていないため、PowerShellプロファイルスクリプトでテストしても何も起こらないことです。

ただし、同じスクリプトからShell.ps1とprofile.example.ps1を実行すると機能します。これが私のようなPowerShell初心者のためのレシピです:

  1. アクティブなユーザーのDocuments\WindowsPowerShellフォルダーにMicrosoft.PowerShell_profile.ps1を編集または作成します(フォルダーが存在しない場合は作成します)
  2. 次の2行を追加します。

    . (Resolve-Path "$env:LOCALAPPDATA\GitHub\Shell.ps1")
    . $env:github_posh_git\profile.example.ps1
    
57

http://haacked.com/archive/2012/05/21/introducing-github-for-windows.aspx から、これをプロファイルに入れて、GitHub forWindowsからposh-gitをロードします。

# If Posh-Git environment is defined, load it.
if (test-path env:posh_git) {
    . $env:posh_git
}
7
dahlbyk

これらの指示に従って 、PowerShellにPosh-gitをインストールして使用するには、次の手順を実行します。

  1. git clone git://github.com/dahlbyk/posh-git.git選択したディレクトリに
  2. 次のいずれかを使用してスクリプトの実行を許可します:
    1. Set-ExecutionPolicy RemoteSigned
    2. Set-ExecutionPolicy Unrestricted
  3. cd posh-git
  4. .\install.ps1
  5. . $PROFILE

私はもともと人気のある haacked.com チュートリアル(@dahlbykと@CBによって指摘された)で与えられた指示に従いましたが、OPと同様の問題がありました。

3
ecoe