問題タブ [git-log]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - git タグ名、日付、メッセージを一覧表示する
すべてのタグのタグ名、タグの日付、タグ メッセージを一覧表示するにはどうすればよいですか?
git のコミット スルーgit log
とタグ スルーの表示ロジックの分離によりgit tag
、タグ名、タグの日付、およびタグ メッセージを一覧表示することが難しくなっているようです。
タグの日付、名前、コミットメッセージを表示できますgit log --tags --show-notes --simplify-by-decoration --pretty="format:%ai %d %s"
http://opensource.apple.com/source/Git/Git-26/src/git-htmldocs/pretty-formats.txtを調べましたが、タグ メッセージを表示するオプションがありませんでした。
を使用して、タグ名と 5 行のタグ メッセージを表示できますgit tag -n5
。
しかし、これら 3 つの情報をすべて取得するには、私の能力を超えた厄介なスクリプトが必要になるようです。
git - git logの場合、-followと--find-renamesのオプションの違い
1つのファイルで作業するだけでよいと仮定します。git-logのmanページから、-followを使用する必要があるようです。私を混乱させるのは、-find-renamesの場合、類似性インデックスにしきい値を指定できるのに対し、-followにはそのようなしきい値がないことです。
私の質問は、名前の変更を見つけるために--followのしきい値を指定する必要がないのはなぜですか?
ありがとう
git - git log --follow は複数のブランチで機能しますか?
私は最近、非常に奇妙なものを見ます。3 つのブランチがあるとします。それらはすべて A という名前のファイルを持っています。その後、A は 3 つのブランチで個別に B に名前が変更されます。次に、3 つのブランチが 1 つにマージされます。今私が使用する場合
のような名前の変更について 3 つのコミットを見る必要があると思います
しかし、私が実際に見ているのは、上記のように A から B に名前を変更することに関するコミットです。他の 2 つは A のように削除しています
--follow はブランチを無視するように思えます。異なるブランチを異なる方法で処理するのではなく、ログを直線的にたどるだけです。
そこで何が起こるの?この問題を回避する解決策はありますか?
ありがとう
git - Gitはブランチの最後のコミット/コミッターをマージしました
すでに聞いているかもしれませんが、ここでは見つかりませんでした。
ブランチをブランチFEATURE
にマージしましたがSTABLE
、現在、最後のコミットを取得していますgit show
。STABLE
FEATURE
ブランチがマージされる前に、誰がブランチにどのような変更を最後にコミットしたかを見つける方法がわかりませんでしたかSTABLE
?
これは、最後にいくつかの変更をコミットしたコミッターに通知を送信するために必要です。
さらに情報が必要な場合、およびヘルプ/提案をいただければ幸いです。
git - どのブランチにいても、プッシュされていないコミットのエイリアスですか?
次のような git エイリアスがあります。
これは、マスターにいるときに「プッシュされていない」変更を表示するのに最適です。しかし、私がブランチにいるとき、このエイリアスは実際には正しく機能しません。
ブランチにいるかどうかに関係なく、プッシュされていない変更を表示する正しいコマンドは何でしょうか?
regex - 正規表現による Git ログ統計
次のようなものを取得するために、git ログでいくつかの統計を行いたいと思います。
最初の列はコミット数で、2 番目の列はコミッターです。私はすでにこれまでに得ました:
興味深い部分は、
メールアドレスを除外するために素敵な正規表現で変更したかったのです。Rubular ではhttp://rubular.com/r/mEzP2hFjGbのようなものが機能しましたが、grep (またはパイプされた他のもの) に挿入すると、正しい出力が得られません。
副次的な質問: このパイプ コマンド スタイルを維持しながら、カウントと作成者を空白以外の何かで区切る可能性はありますか? 後で私たちの列との間のより良いセパレーターを持ちたいと思います(そして多分いくつかの色^^)
助けてくれてどうもありがとう!
git - 過去 24 時間にプッシュされた git の変更を表示するには?
過去 24 時間以内に (作成者のローカル リポジトリに)コミットgit log --since="24 hours ago"
された変更を表示するための構文はよく知っています。
私たちの開発者チームは常にローカルでコミットしており、それらの変更を 2 日おきにプッシュするだけです。これが true の場合、git log --since="24 hours ago"
それらの変更は一覧表示されません。(毎晩の要約メールにこれを使用しています)
私が本当に見たいのは、過去 24 時間以内にマスターにプッシュされた変更であり、要約スクリプトが最後に実行されたときのコミット ハッシュを手動で記憶する必要なく、これを実行できることです。
git - 行が削除/削除されたときにコミットを見つける方法は?
Gitリポジトリのファイルに削除された行があります。欠落しているテキストの一部とそれが含まれているファイルを知っていたので、を使用しgit log -S'missingtext' /path/to/file
ました。
ただし、戻ってきたのは、欠落しているテキストを含む行を追加したコミットだけでした。テキストはHEADに存在せず、それを追加したコミットが私のブランチに存在していたので、私のブランチの履歴にあるコミットの1つがテキストを削除したに違いないことを知っていましたが、表示されませんでした。
手動で検索したところ、マージの競合を解決しているときに誤って行が削除されたことが判明しました。だから私は疑問に思っています:
- これが、pickaxeが行を削除したコミットを見つけられなかった理由ですか?
- 履歴を手動で調べずに、「欠落しているテキスト」が削除された場所をどのように見つけることができますか?
#1についての洞察は素晴らしいでしょう(私はそれgit log -S
が私の答えを与えると思いました)が、将来これを避けたいので、私の本当の質問は#2です。
git - リモートにプッシュされていないローカル コミットの git 変更/差分を表示する
Git
ローカルでコミットした3 つのコミットがありますが、GitHub にはプッシュしていません。3 つのコミットすべての変更/差分を表示したいのですが、すべての差分を表示するにはどうすればよいですか?
私は試した:git log --branches --not --remotes
これは3つのコミットを示していますが、それぞれのすべての差分/変更を示しているわけではありません.
助けてくれてありがとう。
git - 「git log --oneline」を作成して、どのコミット メッセージが複数行であるかを表示する方法
リモートからプッシュまたはマージしようとgit log --oneline
している変更を一目で確認するために、かなりの頻度で作業を行っています。そのコミットメッセージを複数行のメッセージとしてマークするために、いくつかの識別子(「[...]」など)を追加して、そこにさらに情報があることを知ることはできますか?
基本的に、私が欲しいのはこれです: