システムで使用するテキストを入力するテキストファイル(.yml)があります。しかし今、私たちは一度にどんな新しい行を知る必要があります。問題を解決するためにgitを使用することを考えましたが、これを行うための明確なコマンドが見つかりません。
これは可能ですか?
次のようなものでコミットのリストを取得できます。
git log --abbrev-commit --pretty=oneline
次のようになります。
commitD Description
commitC Description
commitB Description
commitA Description
2 つのコミットを選択し、以下に置き換えます。
git diff <commitA>..<commitB> -- /path/to/file
1 つのコマンドラインで実行できます。
git diff -w `git rev-list HEAD --reverse | head -1`..HEAD -- <path/file>
カウント 1 (-1 / --max-count 1) で --reverse を使用することはできません ... 結果のリストを切り捨てた後に反転するためです。--reverse を head コマンドと一緒に使用するか、tail -1 を使用します。
行末とタブ対スペースの使用の切り替えのため、使用のために -w を追加する必要がありました。
ファイルが最初のコミットで追加されなかった場合、これは期待どおりに機能しない可能性があります! 上記の行を次のように変更できます。
git diff -w `git rev-list HEAD --reverse -- <path/file> | head -1`..HEAD -- <path/file>