問題タブ [posh-git]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - git log コマンドを発行すると PowerShell がハングする
poshgit をインストールし、PowerShell を使用して git コマンドを実行します。git log コマンドを発行した場合を除いて、うまく機能しますが、次のような奇妙な動作が見られます。
コマンドはログの一部を返します。残りのログを表示するには、Enter キーを押し続ける必要があります。最初のコミットに到達すると、END と表示されますが、プロンプトは返されません。Enter キーを押し続けると、Enter キーを押すたびに新しい行で END がスローされ続けます。
git log でログを返し、次にコマンド プロンプトを返して、さらに git コマンドを発行できるようにしたいと考えています。または、Powershell に強制的にコマンド プロンプトを表示させる方法を教えていただければ、それも同様です。現在、プロンプトを再度取得するために、git log を発行するたびに Powershell を強制終了する必要があります。
私はWindows 8を使用しています。
powershell - Git Shell は、powershell プロファイルのカスタム プロンプトを無視します
私の PowerShell プロファイルは、プロンプトと背景色をカスタマイズします。
PowerShell を開くと、両方のカスタマイズが機能します。
Git Shell を開くと、背景色のカスタマイズしか機能しません。背景は赤ですが、プロンプトは短くありません。
...そして. $profile
、プロファイルを明示的にインポートするために実行すると、カスタマイズ全体が機能します。
プロファイルを明示的にインポートせずに、Git Shell でプロンプトを変更するにはどうすればよいですか?
編集
#1
実行$profile | select *
結果
#2
実行 . $profile
すると、Posh Git プロファイルがオーバーライドされます。これが私が望んでいることです - 今私は実行する必要なしにそれを行う方法を決定する必要があります . $profile
.
windows - git ssh エージェントは実行中ですが、ユーザー名またはパスワードを保存していません
初期設定
私は Posh-Git を使用しており、SSH の使用に関する Phil Haack のアドバイスに従いました。つまり、次のことを行いました。
- msysgit をインストールします。
- Posh-Git を更新する
- ssh-agent を PATH に追加します。
初期テスト
Powershell を起動すると、ssh-agent が起動します。これはいい。実行すると、次のようGet-Proces
に表示されます。
ただし、起動時に、ユーザー名とパスワードを求められません。これは良くない。
さらに、単一の PowerShell セッション中に、git は繰り返しユーザー名とパスワードを要求し、決して覚えていません。
SSH キーの検索
私の SSH キーは にありC:\Users\<my-user>\.ssh
ます。そこには次の 2 つのファイルがあります。
私は先に行って実行しssh-add "C:\Users\<my-user>\.ssh\github_rsa"
ました。
それでも、エージェントは私の資格情報を覚えていません。
Git シェルでのテスト
msysgit には Git シェルが付属しており、これを実行すると、認証は完璧に行われます。ユーザー名とパスワードを求められることはまったくありません。
私はここの答えを見てきました。
Git シェルと通常の Windows PowerShell プロンプトの両方で、リポジトリはすべて HTTPS を使用しています。
git - 一部のローカルリポジトリに posh-git の色が設定されていません
posh-git を使用する 2 つのローカル リポジトリがあり、そのうちの 1 つで、 posh-git readmeに従ってブランチの色が正しく表示されます。
- シアンは、ブランチがそのリモートに一致することを意味します
- 緑はブランチがリモートより進んでいることを意味します (緑のライトを押す)
- 赤はブランチがリモートの背後にあることを意味します
- 黄色は、ブランチがリモートの前後にあることを意味します
しかし、私の他のレポでは、ローカルとリモートの状態に関係なく、ブランチは常にシアン色です。
$GitPromptSettings
2 つの間で、 と の両方でdiff を実行しましたが、git config -l
どちらも色に関連する違いを示していません (リモートの起点、いくつかのブランチ名、およびそのうちの 1 つだけにいくつかの gitflow 設定があります)。
違いがあるとすれば、この 2 つは 2 つの別々の GitHub プライベート (組織) リポジトリからのものでもあります。
何が原因でしょうか、またはトラブルシューティングのために他に何ができますか?
git - git Blame は、-L を指定すると不正なリビジョン エラーをスローしますオプション
git blame
オプションの1つは行範囲を処理します。マニュアルには次のように書かれています。
-L 1 から数えて、行範囲 n,m のみを処理します
現在、100 行を超えるファイルがあります。を実行するgit blame -L 5,15 myFile.txt
と、git が不平を言います:
致命的: 不正なリビジョン '15'
興味深いことに、 を実行しても git は文句を言いませんgit blame -L 5 myFile.txt
。
どうしたの?
powershell - PowerShell 関数で posh-git を使用してリポジトリの状態を確認するにはどうすればよいですか?
「git clean -xdf」を呼び出す前に、ユーザーに次のメッセージを表示する psake オーケストレーションがあります。
すべての未追跡ファイルを削除しようとしています。「Y」を押して続行するか、他のキーを押してキャンセルします。
clean -xdf を実行すると削除される追跡されていないファイルがリポジトリにある場合にのみ、このプロンプトを表示したいと考えています。
「リポジトリに追跡されていない変更はありますか?」という質問に答えるために posh-git を使用する方法に関する提案はありますか? PowerShellから?
参考までに、既存のオーケストレーションを次に示します...
powershell - 「Install-Module」という用語は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません
posh-git のインストール - ここを参照https://github.com/dahlbyk/posh-git
PsGet をインストールしたばかりの場合は、次を実行します。
正常に動作します。
しかし、Powershell を閉じて再起動すると、次のようになります。
実行しようとすると。
理由はありますか?