Ich bin an die Vorgehensweise unter Windows gewöhnt und habe gerade herausgefunden, dass OS X keine Zusammenführungsfunktion hat – beim Verschieben wird der Ordner ersetzt. Das macht zwar Sinn, aber ich vermisse das Zusammenführen!
Ich habe zwei Wordpress-Verzeichnisse, 1 enthält die Standardquelle und 2 enthält die bearbeitete Version mit Plugins, benutzerdefinierten Designs usw.
Ich möchte den Unterschied zwischen diesen beiden sehen, also lege ich es auf SVN. Ordner 1 ist bereits aktiv, jetzt sollte ich theoretisch einfach den Inhalt von 2 mit 1 zusammenführen, indem ich alles durch den Inhalt von 2 ersetze, aber versteckte SVN-Dateien unberührt lasse.
Leider ersetzt OS X beim Verschieben den Ordner, sodass mein SVN-Client verrücktspielt und die Ordnerstruktur nicht mehr versteht.
Also, ich glaube, meine Optionen sind mv
und ditto
, aber welche würden Sie in meiner Situation verwenden und wie?
sudo mv wordpress /Documents/svn/wwwholiday/trunk/wordpress
Ich möchte mv
alles überschreiben, was es findet, aber alles in Ruhe lassen, was sich bereits in Ordner 1 befindet und kein Duplikat in Ordner 2 hat.
Antwort1
Der einfachste Weg, Ordner auf eine Weise zusammenzuführen, zB
Alles aus Ordner 1 → Ordner 2 zusammenführen
wäre zu verwenden rsync
.
rsync -avh folder1/* folder2/
Dieser Wille:
- alle Dateien, die nur in Ordner 1 und seinen Unterverzeichnissen vorhanden sind, in Ordner 2 verschieben
- nichtalles in Ordner 2 überschreiben, wenn es dort schon vorhanden ist
- geänderte Dateien überschreiben,es sei dennSie fügen die
--ignore-existing
Option hinzu - nichts aus Ordner 2 löschen,es sei dennSie fügen die
--delete
Option hinzu
Passen Sie dies gerne an Ihre Situation an (wobei folder1
und folder2
umgekehrt sind, nehme ich an).
Sie können versuchen, herauszufinden, was der Befehl bewirkt, indem Sie Folgendes aufrufen:
rsync -avh --dry-run folder1/ folder2/
Der dry-run
Schalter zeigt Ihnen, was er tut.
Vergessen Sie nicht, dass die Backslashes eine besondere Bedeutung haben, da folder2/
das Ziel nicht dasselbe ist wie . Informationen zur Verwendung und weiteren Optionen folder2
finden Sie auf der Manpage von .rsync
Außerdem wird -P
(gemäß --help
, same as --partial --progress
) empfohlen, wodurch show progress during transfer
und hinzugefügt wird keep partially transferred files
(was für Wiederholungsversuche nützlich ist, falls ein Fehler aufgetreten ist).
Antwort2
Sie können dies tun, wie @slhck sagt, oder Sie können auch einfach verwenden cp
.
$sudo cp -R wordpress/ /Documents/svn/wwwholiday/trunk/wordpress