如何進行 rsync 排除 .git/ 資料夾但仍保留 .git/config 檔案?

如何進行 rsync 排除 .git/ 資料夾但仍保留 .git/config 檔案?

簡而言之 TLDR

要 rsync 排除 .git/ 但仍保留 .git/config 檔案的資料夾,該怎麼做?

我的谷歌搜尋沒有幫助所以我在這裡問。

詳細資訊

我想將所有專案代碼的快照保存到另一台機器中。

每個專案程式碼資料夾都是 git 克隆的資料夾,因此它們都有 .git 資料夾。

我不需要那些 .git 因此將排除它們。

但我需要知道專案來自哪個 git repo,所以需要保留 .git/config。

我嘗試過但沒有成功運行

rsync -chazvP --dry-run --exclude=".git" --include=".git/config"  $FROM/ $TO/
#             .         .                .                        .      .

如果您知道正確的方法,請分享。

答案1

找到了答案這裡

這個想法是include.git/配置exclude.git/*

rsync -chazP  --include '.git/config'  --exclude '.git/*'  "$FROM/" "$TO/"
#     .       include must go first   .                    .        .

查看詳細資訊並運行它這裡

相關內容