5

gitk を使用して、特定の作成者によるものを除くすべてのコミットを表示したいと考えています。次のようなもの:

gitk --author=!ジョー

これは可能ですか?

4

2 に答える 2

9

コマンドラインから:

gitk --perl-regexp --author='^(?!joe)'

複数の作成者によるコミットを除外するには:

gitk --perl-regexp --author='^(?!jack|jill)'

説明: (?!whatever)(perl スタイルの) 先読み正規表現です: が続かない位置に一致しwhateverます。「文字列の先頭」正規表現によって Author フィールドの先頭に固定します^

または、実行gitk --perl-regexpしてから gitk メニューで、[表示] -> [新規ビュー] (略して Shift+F4) を選択し、[^(?!joe)作成者] フィールドに書き込みます。

常に入力する必要がない場合はgitk --perl-regexp、次を実行して、グローバルに perl 正規表現を使用するように git を設定できます。

git config --global grep.patternType perl

于 2016-09-30T14:46:33.953 に答える
1

私はそれを行うためのひどく簡単な方法はないと思います--

perl などをお持ちの場合は、解決策をまとめることができます。

  1. 除外したいコミットのリストを取得し、ハッシュに入れます: git rev-list [refs] --author="[author pattern]"

  2. 表示したいコミットのリストを取得します: git rev-list [refs]

  3. 表示したいコミットからハッシュ内のアイテムを減算します

  4. 表示したいコミットを表示します: gitk --no-walk [減算の出力]

perl/python/ruby でかなり簡単に何かを記述して 1 ~ 3 を実行し、次に実行することができます。

gitk --no-walk $(drop-author.pl [refs] [author-pattern])

于 2011-06-13T19:55:29.147 に答える