[解決済み】git diffからディレクトリを除外する方法
2022-04-19 06:15:08
質問
Git の diff からディレクトリ全体を除外する方法について教えてください。 (この場合は /spec). 私は git diff コマンドを使ってソフトウェアリリース全体の diff を作成しています。 しかし、spec の変更はこの手順には無関係であり、頭痛の種になるだけです。
git diff previous_release..current_release app/
この場合、appディレクトリのすべての変更に対してdiffが作成されますが、例えばlib/ディレクトリの変更に対してはdiffが作成されません。 どなたか、このタスクを達成する方法をご存知でしょうか? ありがとうございます。
編集:はっきりさせておきたいのですが、私は、すべてのディレクトリのパラメータを、/specを除いた末尾に列挙すればいいことを知っています。 私は、コマンドで単一のディレクトリを本当に除外する方法があることを望んでいました。
どのように解決するのですか?
bashを使用していて、拡張グロビング(
shopt -s extglob
) を使えば、シェル側で処理することができます。
git diff previous_release current_release !(spec)
他のものをすべて列挙する手間を省くことができます。
あるいは、シェルにとらわれない。
git diff previous_release current_release --name-only | grep -v '^spec/' \
| xargs git diff previous_release current_release --
これをワンライナーのシェルスクリプトにまとめると、引数を入力し直す手間が省けます。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git リポジトリで削除されたファイルを検索して復元する方法
-
[解決済み] Git リポジトリを特定のフォルダにクローンする方法は?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】git revert <hash> not allowed due to a merge but no -m option was given.
-
[解決済み】Gitマージで「すでに最新」と報告されるが、違いはある
-
[解決済み】マージが終了していません(MERGE_HEADは存在します)。
-
[解決済み] 複数のコミットをチェリーピックする方法
-
[解決済み] あなたのブランチは 'origin/master' より 3 コミット進んでいます。
-
[解決済み] Git pull - マージする前に移動または削除してください。
-
[解決済み] .gitignore と "以下の追跡されていない作業ツリーファイルはチェックアウトによって上書きされるでしょう"
-
[解決済み] GitのFETCH_HEADとはどういう意味ですか?
-
[解決済み] git logで特定のパスの変更を無視するようにする
-
[解決済み] Git: 'modified content' /dirty サブモジュールのエントリを status や diff などで表示させないようにできますか?