ディレクトリを既存のディレクトリに移動するには?

ディレクトリを既存のディレクトリに移動するには?

デフォルトでは、2つのツリーの変更をマージして、ブランチ2の変更をブランチ1に適用する必要があります。私は次の木を持っています:

media
├── cd
│   ├── 0
│   │   ├── file1
│   │   ├── file2
│   │   └── file3
│   ├── 1
│   │   ├── file1
│   │   ├── file2
│   │   └── file3
│   └── 2
│       ├── file1
│       ├── file2
│       └── file3
├── dvd
│   ├── 0
│   │   ├── file1
│   │   ├── file2
│   │   └── file3
│   ├── 1
│   │   ├── file1
│   │   ├── file2
│   │   └── file3
│   └── 2
│       ├── file1
│       ├── file2
│       └── file3
└── stuff
    ├── 0
    │   ├── file1
    │   ├── file2
    │   └── file3
    ├── 1
    │   ├── file1
    │   ├── file2
    │   └── file3
    └── 2
        ├── file1
        ├── file2
        └── file3

ブランチ 2 でファイルを変更したので、ブランチ 1 に適用する必要があります。ブランチ 1 に移動しようとすると、次のエラーが発生します。

mv: cannot move `/branch2/media/cd' to `/branch1/media/cd': Directory not empty.

使用する必要がある別のコマンドがありますか?mv -fこれは完了していないようです。

ベストアンサー1

代替を使用しないのはなぜですかrsync

rsync -a /branch2/media/ /branch1/media/

mv動けない理由は、すでにその中に一つがあるから /branch2/media/cd/です。空でないディレクトリを破壊することを拒否します。/branch1/media/branch1/mediacd/mv

おすすめ記事