回答:
パス(この場合はmyfolder)を指定して、次のコマンドを実行します。
git diff myfolder/
git diff -- myfolder
gitのあいまいさを最小限に抑えるために使用したいと思います。git diff(および多くのgitコマンド)の一般的な表記ではgit diff [commit-ish] -- [path]
、commit-ishはデフォルトでHEAD(現在の場所)になり、[path]
デフォルトはgitルートディレクトリになりますが、現在のディレクトリに関連するものであれば何でもかまいません。なければ--
、Gitはあなたが何を意味するか推測し、します[commit-ish]
か[path]
。場合によっては、これによりgitは表記が「あいまい」であると言います。もし私が正確に覚えていれば。
git diff master..develop myfolder/
@ CrandellWSが元の質問のコメントで言ったように、比較しようとしているブランチを含めることができます。それがあなたが探しているものであれば、Gitステータスはあなたに変化を示します。
異なるブランチを比較する場合は、を使用--
してGitリビジョンをファイルシステムパスから分離する必要があります。例えば、2つのローカルの支店を持つ、master
とbryan-working
:
$ git diff master -- AFolderOfCode/ bryan-working -- AFolderOfCode/
または、ローカルブランチからリモートへ:
$ git diff master -- AFolderOfCode/ origin/master -- AFolderOfCode/
追加越えては比較のGitのあなたdifftoolとしてとしてdiffdirのエイリアスを追加します。
git config --global alias.diffdir = "difftool --dir-diff --tool=bc3 --no-prompt"
gitdiffを次のように取得します。
git diffdir 4bc7ba80edf6 7f566710c7
git config --global alias.diffdir = "difftool --dir-diff --tool=bc3 --no-prompt"
代わりに
--no-symlinks
オプションを追加してコマンドがgit difftool --dir-diff --no-symlinks
パスを追加できるだけでなくgit diff --relative
、そのフォルダーに関連する結果を取得するために追加できます。
git -C a/folder diff --relative
また、Git 2.28(2020年第3四半期)では、「diff
」ファミリーのコマンドが「diff.relative
」構成変数を尊重することを学びました。
Laurent Arnoud()によるcommit c28ded8(2020年5月22日)を参照してください。(合併によりJunio C浜野- -でコミットe34df9a、2020年6月2日)spk
gitster
diff
:設定オプションを追加relative
サインオフ:Laurent Arnoud
Acked-by:ĐoànTrầnCôngDanhに
diff.relative
設定されたブールオプションは、オプションtrue
のpath
引数で指定された現在のディレクトリ/値の変更のみを表示relative
し、前述のディレクトリに対する相対パス名を表示します。
--no-relative
以前にオーバーライドするように教える--relative
git-format-patch(1)オプションのドキュメント
--relative
と--no-relative
diff.relative
:'
true
'に設定すると、 'git diff
'はディレクトリ外の変更を表示せず、現在のディレクトリからの相対パス名を表示します。
サブディレクトリを除外したい場合は、
git diff <ref1>..<ref2> -- $(git diff <ref1>..<ref2> --name-only | grep -v /)
Beyond Compareをディレクトリdiffのdifftoolとして使用するには、以下のようなシンボリックリンクを有効にすることを忘れないでください。
でフォルダビューの比較 → ルール(審判のアイコンを):
次に、シンボリックリンクをたどり、セッションのデフォルトを更新します。
または、
次のようにエイリアスを設定します。
git config --global alias.diffdir "difftool --dir-diff --tool=bc3 --no-prompt --no-symlinks"
どちらの場合も、現在の作業ツリーを参照する側(左または右)に対して行われた編集は保持されることに注意してください。
git diff master..yourbranch path/to/folder