助けが必要です。 1つのコミットIDのみを表示することは可能ですか? git log -3は1-3のログを表示するため、3だけを表示したいだけです。どのコマンドが一致するでしょうか?
私はコマンドを使用します
git log -3 --pretty=format:"%h"
結果は
ffbef87
cf0e073
1c76c5d
1c76c5dのみを表示したいだけです。
現在のコミットからgit show
番目の親を参照 を使用できます(つまり、HEAD
からの2番目の祖先)。また、git show
はgit log
と同じフォーマット文字列を受け入れます。
git show HEAD~2 --pretty=format:"%h" --no-patch
さらに良い方法は、 rev-parse
配管コマンド を--short
オプションとともに使用して、短縮(7文字)コミットIDを出力することです。
git rev-parse --short HEAD~2
または、コミットIDの正確な長さを指定することもできます。
git rev-parse --short=4 HEAD~2
そのためのツールがあります:
git log -3 --pretty=format:"%h" | tail -n 1
次のフラグを使用して、ハッシュのn
文字を(デフォルトの代わりに)含めることができます。
--abbrev=n
1)各プログラムが1つのことをうまく行えるようにします。新しいジョブを実行するには、新しい「機能」を追加して古いプログラムを複雑にするのではなく、新しくビルドします。
2)すべてのプログラムの出力が、まだ未知の別のプログラムへの入力になることを期待します。無関係な情報で出力を乱雑にしないでください。厳密に列またはバイナリの入力形式を避けてください。インタラクティブな入力を主張しないでください。
... [すなわち]
- 1つのことを行うプログラムを作成し、それをうまく実行します。
- 連携して動作するプログラムを作成します。
少なくともgitバージョン2.3.8以降では、--skip
オプション:
git log -1 --skip 2 --pretty=format:"%h"
Gitのどの以前のバージョンがサポートしているかわからない--skip
。