Ich möchte ein Verzeichnis mit einem Git-Repo meiner Datendateien auf zwei Rechnern synchronisieren. Beide Maschinen nehmen Änderungen an den Dateien im Repo vor. Normalerweise verwende ich Unison zum Synchronisieren von Verzeichnissen, aber in diesem Fall divergieren die Dateien im Verzeichnis .git
sogar dann, wenn der Inhalt des Verzeichnisses scheinbar identisch ist. Unison wirft seine Hände auf und hört auf, wenn er das sieht. kann unterschiedlich seinSynchronisieren von Verzeichnissen, die das Git-Repository mit Unison enthalten
$ unison dotfiles
changed <-?-> changed .git/FETCH_HEAD
changed <-?-> changed .git/ORIG_HEAD
changed <-?-> changed .git/index
changed <-?-> changed .git/logs/HEAD
changed <-?-> changed .git/logs/refs/heads/master
changed <-?-> changed .git/logs/refs/remotes/origin/master
Ein Byte-für-Byte-Sync hier nicht, weil auch Dateien mit den gleichen Dateien und git Zustand der internen git funktioniert. Wie kann ich diese Verzeichnisse synchronisieren? Nach der Synchronisierung sollten alle Nicht-Git-Dateien und der Git-Status auf beiden Rechnern identisch sein. Mit git state meine ich commit histories und staging, aber nicht unbedingt jedes Byte jeder internen git Datei (z. B. .gitigore, .git). Ich weiß nicht genug über git, um näher darauf einzugehen, was ich damit meine, aber wenn das unklar ist, kommentiere es einfach.
Ich möchte keine Git-Commits als Teil der Synchronisierung machen. Ich sehe Versionskontrolle und Synchronisierung als zwei separate Probleme hier.
Wenn Sie die Wörter git und sync in Google einfügen, erhalten Sie Ergebnisse, die beschreiben, wie ein Repo geklont wird. Nur um klar zu sein, keiner der oben genannten Verwendungen von "sync" bezieht sich auf Git-Aktionen.
Sie sagen, die ganze Sache ist ein No-Go für Live-Sync? – Praxeolitic
@Praxeolitic nicht mit Git Repo sowieso. Git soll nicht live synchronisiert werden, sondern wurde zu verwalteten Datendateien verwendet. – VonC
Ich sollte dies ursprünglich geklärt haben, aber ist Live-Synchronisierung ein Git Repo und alle git Zustand über Maschinen von Natur aus unmöglich jetzt?Damit meine ich, dass etwas an Git diese Aufgabe unsensibel macht oder befriedigende Lösungen einfach nicht existieren? Vielen Dank. – Praxeolitic