2016-11-30 29 views
0

次のコマンドを使用して、最新の3つのコミットでファイルのアーカイブを作成しようとしています。git archive:アーカイブ中にpathspecを無視する方法は?

git archive -o archive.zip $(git diff --name-only HEAD~3) 

しかし、最後では、私はいくつかのファイルを削除コミット、これはdiff出力に表示されます。だからこのエラーが表示されます:

fatal: pathspec 'public/uploads/5839529ba9381.png' did not match any files 

gitアーカイブ中にコミットで削除されたファイルを無視するにはどうすればよいですか?私は--ignore-unmatch引数を試しましたが、動作しません。

答えて

0

基本的には、git archiveは、ある時点のバックアップの状態に使用され、タイムライン、すなわちのバックアップの変更に適合していない、あなたはgit archiveによってdelete filesのアクションを保存することはできません。

最新の3つのコミットをバックアップする場合は、git bundleコマンドを使用できます。

git bundle create last_three_commit.bundle HEAD~3..HEAD 

または

git bundle create last_three_commit.bundle -3 HEAD  

詳細はgit bundle --helpを実行してください。

+0

コマンドが機能していない、2つのドットがありますか? – bazi

+0

@bazi、申し訳ありませんが、私はコマンドラインでバンドルファイル名が見つかりませんでした。私は私の答えを更新しました。 – gzh

+0

それは今働きます。私はフォーマットをzipに変更できますか? – bazi

関連する問題