0

私が持っているプロジェクトのパッチジェネレーターを自動化しようとしていますが、通常、変更がある場合は手動でgitリポジトリに追加し、コミットしてから、変更されたファイルを含むzipファイルを生成します。

git archive --output=patch_X_$(date "+%Y-%m-%d_%H_%S").zip HEAD $(git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT  $(git log master -n 1 --pretty=format:%H))

現在、すべてのコマンドを実行する Windows 用のバッチ スクリプトを作成していますが、パッチ ファイルを生成するときにスタックします。

次の行を書くとエラーが発生します。

call git archive --output=patch_X_$(date "+%Y-%m-%d_%H_%S").zip HEAD $(call git diff-tree -r --no-commit-id --name-only --diff-filter=ACMRT  $(call git log master -n 1 --pretty=format:%H))

これは私が得るエラーです:

致命的: あいまいな引数 '$(git': 不明なリビジョンまたはパスが作業ツリーにありません。'--' を使用してパスをリビジョンから区切ります

誰かがこれで私を助けることができれば、私は本当に感謝しています.

4

2 に答える 2

0

構文 $() は、指定されたコマンドを実行するためにサブシェルを起動するため、Unix/Linux 固有のものだと思います。

残念ながら、私は Windows で同等のものを知りません

于 2013-07-03T13:09:07.260 に答える
0

個人的に使用する場合は、cygwin をインストールして、Windows で元のシェル/bash スクリプトを実行することを検討してください。

もちろん、それが一般向けの場合、cygwin をインストールすることを期待できるかどうかはわかりません。

于 2013-07-03T13:47:53.597 に答える