だから私は次のような構造を持つソースフォルダーをrsyncするコマンドに取り組んでいます:
- app.js
- .gitignore
- src/
- src/logs/
- src/logs/.gitignore
最初の.gitignoreは一連のファイルを無視します。典型的なもの。2番目は次のようになります。
*
!.gitignore
この手法は、ファイルが含まれていないディレクトリをチェックインする場合に使用されます。ディレクトリ全体に.gitignoreがさらに存在する場合もあります-これは1つのシナリオにすぎません。だから私の質問はこれです:rsyncがすべての.gitignoresをそれらが置かれているディレクトリに相対的に解釈させることは可能ですか?
私の最初の試みは次のとおりでした:
- ディレクトリ内のすべての.gitignoresを取得します。
- 次のようなビルドコマンド:
rsync --exclude-from=.gitignore --exclude-from=src/logs/.gitignore --exclude-from=some/other/folder/.gitignore [source] [destination]
ただし、これは期待どおりに機能しませんでした。すべての.gitignoreファイルがルートにあるかのように読み込まれるため、すべてが無視されます。すべての.gitignoresに対してgrepを実行せずに、ルートディレクトリからの相対パスをすべて再書き込みしたマスターファイルを1つ作成することなく、これを行う方法はありますか?
ありがとう!