5

install-tar を作成するリモートベアリポジトリ (作業ディレクトリなし) があります。うまくいきます。しかし、今は変更されたファイルのみの tar を作成したいと考えています。私はこのようにしてみました:

git archive --format=tar --prefix='/' HEAD `git diff V1.02 --name-only` | gzip -9 > ~/tars/update-v1.02-`git describe master --tags`.tar.gz

これは私のローカルリポジトリでうまく機能します。タグ付けされたバージョン V1.02 から最新のコミットまでのファイルを含む tar を作成します。ただし、裸のリポジトリでは機能しません。別の解決策はありますか?

4

1 に答える 1

1

の 2 つのコミット形式はgit diff、ベア リポジトリ ( git diff [options] <commit> <commit> [--] [<path>...]) で機能します。

以下は、私があなたが望むことを理解する必要があります。

git archive --format=tar --prefix='/' master `git diff V1.02 master --name-only` | gzip -9 > ~/tars/update-v1.02-`git describe master --tags`.tar.gz

HEADまた、コマンドの残りの部分と一貫性を保つために、元のコマンドをmaster(上記のように) に変更することをお勧めしHEADます。masterHEAD

于 2012-10-17T06:00:29.480 に答える