単一二つのファイル、a
とb
にコミットして簡単なテストリポジトリを考えると、私は特定のファイルのリストを取得することができます。gitアーカイブからファイルを除外するにはどうすればよいですか?
$ git ls-files a
a
または特定のファイルを除くすべてのファイルのリスト:
$ git ls-files . ':!b'
a
私は特定のファイルのアーカイブを作成することができます
$ git archive HEAD a | tar tf -
a
をしかし、私はのアーカイブを作成することはできません。特定のファイルを除くLLファイル:それは最大のコマンドライン引数の長さを超えるよう
$ git archive HEAD . ':!b' | tar tf -
a
b
特定のファイルのアーカイブを使用するオプションは、私の本当のリポジトリに私のためのオプションではありません。
export-ignore
属性で除外するファイルのリストを.gitattributes
に保存できますが、リストは動的に生成されます。私は自動的にファイルを変更することができますが、変更は別のコミットの後まで選択されません。
別のコミットを必要とせずに動作する別の呼び出しがありますか?
詳細な回答ありがとうございます。私は '.git/info/attributes'が必ずしも最も論理的なアプローチではないと思っていますが、私がすでに持っているものに最も適しています。将来何かが必要な場合は、' tar --delete' 。 – hvd