[解決済み】git difftool、すべてのdiffファイルをすぐに開く、シリアルに開かない
2022-04-16 15:08:20
質問
git diff のデフォルトの動作は、各差分ファイルをシリアルに開く(前のファイルが閉じられるのを待ってから次のファイルを開く)ことです。
すべてのファイルを一度に開く方法を探しています。たとえばBeyondCompareでは、同じBCウィンドウ内のタブですべてのファイルを開くことができます。
これにより、複雑な変更点のセットをレビューすることが容易になります。差分ファイル間をフリックで行ったり来たりして、重要でないファイルを無視することができます。
解決方法は?
こんな感じです。
というファイルに以下のコードをコピーしてください。
git-diffall
(拡張子なし)。
#!/bin/sh
git diff --name-only "$@" | while read filename; do
git difftool "$@" --no-prompt "$filename" &
done
ファイルを
cmd
をインストールしたディレクトリにあるフォルダ(例えば
C:\Program Files (x86)\Git\cmd
)
そして、次のように使用します。
git diff
:
git diffall
git diffall HEAD
git diffall --cached
git diffall rev1..rev2
etc...
注意事項 キーとなるのは &です。 このパラメータは、外部の diff コマンドにバックグラウンドタスクで実行するよう指示し、ファイルが直ちに処理されるようにします。BeyondCompareの場合、各ファイルがタブで表示される1つの画面が開かれます。
関連
-
[解決済み】ファイルのアンリンクに失敗しました。もう一度試してみるべきですか?
-
[解決済み] 複数のコミットをチェリーピックする方法
-
[解決済み] GitHubに空のブランチを作成する
-
[解決済み] git stashを元に戻す
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git ですべてのリモートブランチをクローンする方法
-
[解決済み] Gitで変更された複数のファイルのうち、1つのファイルだけを隠す?
-
[解決済み] コミットに含まれるすべてのファイルを一覧表示するにはどうすればよいですか?
-
[解決済み] 隠し場所に対する Git の diff
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 現在のブランチのトラッキング情報がありません。
-
[解決済み】ERROR: Error cloning remote repo 'origin'.
-
[解決済み】なぜ「git commit」は私の変更を保存しないのですか?
-
[解決済み】Githubエンタープライズ - リモート。Git の操作でパスワード認証が利用できない
-
[解決済み] リモートの <ブランチ名> とマージするように設定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み】ローカルGitブランチとそのリモートブランチを比較する方法
-
[解決済み] SourceTree error:1407742E:SSLルーチン:SSL23_GET_SERVER_HELLO:tlsv1警告プロトコルバージョン
-
[解決済み] git rebase: "error: cannot stat 'file': パーミッションが拒否されました"
-
[解決済み] git diff の出力を自分の好みの diff ツール/ビューアで表示するにはどうすればよいですか?
-
[解決済み] なぜ "git difftool" はツールを直接開けないのですか?