8

誰かのためにパッチを作成する必要があります (彼らは git を使用していません) - コミットによって変更されたファイルの zip です。

みたいなことを思った

git アーカイブ --format=zip commitguid > myfiles.zip

ただし、これにより、変更されたファイルだけでなく、全体が抽出されます。これを行う方法はありますか?さらに複雑にするために-複数のコミットでこれを行う方法はありますか(はい、変更を行う前に分岐する必要がありましたが、それは後知恵です)

編集

以下の @Amber ソリューションに基づいて、c:\data\progs に 7Zip がインストールされている Windows の Git Bash で 2 つの手順でこれを行うことができます。

git diff --name-only a-sha b-sha > tmp.txt
/C/data/progs/7za.exe a myzip.zip @tmp.txt
4

3 に答える 3

18
git diff --name-only <oldsha> <newsha> | zip dest.zip -@

適切な SHA/ref を入力します。たとえば、masterfeatureブランチ間で変更されたファイルのみの zip を作成するには、次のようにします。

git diff --name-only master feature | zip dest.zip -@
于 2012-05-29T17:43:14.640 に答える
1

も参照してくださいgit help format-patch。コミットの作成者、日付、メッセージ、およびいくつかの優れた差分統計とともに、コミット内のすべての変更の差分パッチを生成します。圧縮して送信できます。

于 2012-05-29T17:41:48.547 に答える