[解決済み] 指定した日付範囲のコミットを著者名で表示させるには?
質問
どうやら これ :
git log --all --after="<date> 00:00" --before="<date> 23:59" --author="<author>"
に基づいてコミットをフィルタリングします。 コミッターの日付 . 指定した作者の日付範囲のコミットを表示するにはどうすればよいですか?
どのように解決するのですか?
できません。少なくとも、Gitだけではできません。 (この質問を訪れた他の人への注意: それは
を見ることではありません。
を見ることではありません。
によるコミットの選択
作者の日付、つまり
--since
/
--after
そして
--until
/
--before
. これらのセレクタは
コミッター
の日付、作者の日付を使用します。 極端な例として、"now" でコミットされ、コミッターの日付は2000年代、しかし author-date フィールドでは1999年のある日に遡ったコミットを考えてみましょう。 もし、選択範囲が "世紀の変わり目付近の任意の時間" であれば、コミッターの日付が "今" で、1999年より10年以上先なので、このコミットは選択から外れることになります)。
私はこれを Git の小さなバグだと考えています。コミッターの日付フィールドを使うようにリクエストできるのであれば、どこでも著者の日付フィールドを使うようにリクエストできるはずです。 これは
ログの書式設定
を使えば簡単です。
%ad
と
%cd
などでは不可能ですが
コミット選択
. 最も近いのは
git rev-list
が(一般的なトポソートの範囲内で)著者名-日付でソートできることです。
でのグローバルなスイッチは
git rev-list
のように
--use-author-date
のように、単純なパッチとして機能し、Git に追加するのもそれほど難しくはないでしょうが、より良いのは
--min-author-age
と
--max-author-age
などで、"sort by author date" フラグ (一般的な
--topo-order
フラグと独立しており、そのため
の両方が
フラグと同じ効果をもたらします。
--author-date-order
).
回避策として、興味のありそうなコミットをすべてリストアップすることができます (
git rev-list
のような同等のものを使用します。
git log
: 日付フィルタを除いて、コミットが潜在的に興味深いものになるような指定子を使います。
--all
である) そして、すべての author-date フィールドを抽出します (これは
git log --format=%at
などで)抽出し、コミット ID のリストを自分で刈り込み、残ったコミット ID を再び
git log --no-walk
. しかし、これはせいぜい痛みを伴うだけです。 参照
Tim Beigeleisen の awk を使った回答
を参照してください。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] リモート Git リポジトリの URI (URL) を変更するには?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] git rebase の取り消し
-
[解決済み] Git でファイルの一部分のみをコミットする
-
[解決済み] Git で現在のコミットのハッシュを取得する方法は?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】Gitバージョン管理でファイルの変更履歴を見る
-
[解決済み】Gitで複数のコミットの著者名やコミッター名、Eメールを変更する方法は?
最新
-
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のエラーについて覚えておく-すべて最新にする
-
コミットメッセージが空だったため、コミットを中止する git commit
-
なぜこのマージが必要なのかを説明するコミットメッセージを git に入力してください。
-
[解決済み] Jenkins Pipeline Git SCM を認証情報でチェックアウトする?
-
[解決済み] Gitの本番環境へのプッシュ(FTP)
-
[解決済み] 単一のgitコミットに対して設定されたユーザーを上書きする
-
[解決済み] GitHubで2つのブランチの差分を取るには?
-
[解決済み] git diff を stdout に書き出すには?
-
[解決済み] 別のユーザーでコードをコミットするにはどうすればよいですか?
-
[解決済み] Git Repo から既存のファイルを削除する