Windows の方法に慣れていたのですが、OS X にはマージ機能がないことがわかりました。移動はフォルダの置き換えを意味します。これは理にかなっていますが、マージがなくなったのが残念です。
私は 2 つの Wordpress ディレクトリを持っています。1 つにはデフォルトのソースが含まれ、もう 1 つにはプラグインやカスタム テーマなどを含む動作バージョンが含まれます。
この 2 つの違いを確認したいので、SVN に配置します。フォルダー 1 はすでに作成されているので、理論的には、すべてを 2 の内容に置き換えて、隠し SVN ファイルはそのままにして、フォルダー 2 の内容をフォルダー 1 にマージするだけです。
残念ながら、OS X は移動するとフォルダーを置き換えてしまうため、SVN クライアントがおかしくなり、フォルダー構造を理解できなくなります。
したがって、選択肢はmv
とであると思いますditto
が、私の状況ではどちらをどのように使用すればよいでしょうか?
sudo mv wordpress /Documents/svn/wwwholiday/trunk/wordpress
見つかったものはすべて上書きしますmv
が、フォルダー 1 内に既に存在し、フォルダー 2 に重複がないものについてはそのまま残します。
答え1
フォルダを1つの方法で結合する最も簡単な方法は、例えば
フォルダ1→フォルダ2のすべてを結合する
を使用することになりますrsync
。
rsync -avh folder1/* folder2/
この意志:
- フォルダ 1 とそのサブディレクトリにのみ存在するすべてのファイルをフォルダ 2 に移動する
- ないフォルダ2にすでに存在するものがあれば上書きする
- 変更されたファイルを上書きする、ない限り
--ignore-existing
オプションを追加する - フォルダ2から何も削除しない、ない限り
--delete
オプションを追加する
これを自分の状況に合わせて自由に調整してください (とfolder1
がfolder2
逆になっていると思います)。
次のコマンドを呼び出して、コマンドが何を実行するか確認することができます。
rsync -avh --dry-run folder1/ folder2/
スイッチdry-run
には、その機能が表示されます。
バックスラッシュには特別な意味があるので、folder2/
宛先が と同じではないことに注意してください。使用方法とその他のオプションについては、folder2
のマニュアルページを確認してください。rsync
-P
また、 ( によると--help
、same as --partial --progress
)も推奨されます。これはshow progress during transfer
とkeep partially transferred files
(失敗した場合の再試行に役立ちます)を追加します。
答え2
@slhck の言うとおりにこれを行うこともできますし、 を使用することもできますcp
。
$sudo cp -R wordpress/ /Documents/svn/wwwholiday/trunk/wordpress