Das Synchronisationssystem und das Revisionskontrollsystem sind zwei verschiedene Dinge, die unterschiedliche Bedürfnisse ansprechen.
Als Programmierer möchten Sie Versionskontrolle über Ihren Code haben. Wenn Sie nichts anderes synchronisieren müssen, sollten Sie sich nicht mit der Synchronisierung beschäftigen, da dies offensichtlich keine Versionskontrolle bietet (die selbst zur Synchronisierung verwendet werden kann). In diesem Fall können Sie einfach die Versionskontrolle durchführen. Und wenn Sie auch andere Dinge synchronisieren müssen, benötigen Sie trotzdem eine Versionskontrolle. Ich würde daher dringend vorschlagen, dass Sie zunächst einige Code-Versionierung einrichten und dann über die Synchronisierung nachdenken. Code ohne Versionskontrolle ist ... ganz falsch.
Wenn Sie nun eine zentralisierte Versionskontrolle verwenden, müssen Sie einen Server auswählen. Dann müssen Sie diesen Server sichern, da Sie nur die aktuelle Version des Codes auf Ihrem anderen Computer haben. Deshalb würde ich vorschlagen, dass Sie nach einer verteilten Versionskontrolle suchen. Git oder Hg (Mercurial) reicht aus. Auf diese Weise haben Sie den vollständigen Versionsverlauf des Codes beide Computers. Wenn einer stirbt, verlieren Sie nichts (zumindest den Code!).
ABER, wenn Sie auf jeden Fall synchronisieren möchten, ist die Verwendung eines zentralen Versionskontrollsystems nicht so schlecht, da Sie die Dateien einfach mit Ihrem anderen Computer synchronisieren können. Auf diese Weise haben Sie zentrales + automatisches Backup erstellt. Noch verteilt werden Sie mehr Flexibilität haben, wenn Sie Ihre Meinung ändern.
Es ist dein Anruf. Mein Vorschlag ist ein verteiltes System (Git oder Hg ... sie sind sich ziemlich ähnlich und sie haben Hash-Systeme, die ihre Codebasis schwerer machen, um beschädigt zu werden) und dann sehen Sie, was Sie mit der Synchronisierung tun, wenn Sie es wirklich brauchen.