はのは、このようなツリー何かを想像してみましょうコミット特定からのみ変更されたファイルを取得:のgit -
このリポジトリに d---g---i feature 1
/ \
/ c---f \ feature 2
// \ \
---a---b---e---h---j---n master
\
k---l---m feature 3
、ファイル(SQL、XML、DLL ...)のミックスがありますが。さて、フィーチャー1と2と3から変更された(または追加された)ファイルのみをリストアップしたいと思います(フィーチャー3はまだ完成していませんが、スクリプトを変更してテストするためにそれを一部の顧客に適用する必要があります)。私は本当に変更されたファイルが必要です。リポジトリ全体からすべてのスクリプトを顧客に再適用することはできません。
変更点は*何かに関するものです。各コミットは単なるスタンドアロンなので、コミットを変更に変えるには、* other * commitを選択してから2つのコミットをdiffしなければなりません。たとえば、コミット 'g'(' git diff g i')に対して 'i'をコミットすると、' g'から 'i'に変更したものが表示されます。ここでの主な問題は、各機能ブランチが異なる開始点から開始するため、このプロセスの開始点が明白ではないことですが、実際には、正しい*開始点は顧客が今日のものになることです。 – torek
私は、マスターブランチの最初のコミットと特定のブランチの最後のコミットの間に違いがある場合、私はthiseファイルを持っていると思います。したがって、特徴1:git diff a i、特徴2:git diff b f、特徴3 git diff e m。しかし、私の問題は、これらのコミットを見つける方法です。私は約100の特徴があるなら、全体のログを勉強したくないです。しかし、多分私はこの戦略について悪い考えを持っているかもしれません。 – David
あなたが必要とするのは、その顧客が持っている(hと言う)コミットとテストしたい(mと言う)ことです。 'git diff --stat h m'は両者の間で変更されたファイルを与えます。 –