Ursprüngliche AbsichtDer Grund für die Entwicklung dieses Tools besteht darin, dass ich meine tägliche Arbeit oder mein Leben jederzeit aufzeichnen möchte, wenn ich den Computer benutze. Normalerweise reicht es, es kurz aufzuzeichnen. Auf diese Weise kann ich die Aufzeichnungen gleichzeitig zu Hause und am Arbeitsplatz einsehen. Auf diese Weise können Sie sich beim späteren Organisieren an bestimmte Dinge erinnern, wenn Sie einige Schlüsselwörter sehen. Einige davon können auch als Entwurf verwendet werden, um sie später in einem Artikel zu organisieren. Auf diese Weise kann der Artikel einen Anfang und ein Ende haben. Andernfalls ist es sehr schädlich für das Schreiben eines Artikels, wenn Sie einfach sagen, was Ihnen einfällt. Zuerst habe ich die manuelle Synchronisierung verwendet, fand das aber problematisch und habe daher einfach eine Batchdatei verwendet, um alles auf einmal zu synchronisieren.
Es gibt jedoch noch einige Nachteile: 1. Manchmal vergesse ich die Synchronisierung durchzuführen, insbesondere wenn ich von der Arbeit komme und den Computer direkt ausschalte. 2. Wenn Sie die Synchronisierung am Anfang vergessen, treten später Git-Konflikte auf. Die Erfahrung war nicht sehr gut. Programme schreibenNodejs und Git müssen standardmäßig auf Ihrem Computer installiert sein. Denn später habe ich mir die Zeit genommen, ein kleines Programm zu schreiben. Solange Sie das Programm im Hintergrund ausführen, werden die Dokumente von Zeit zu Zeit automatisch synchronisiert. Der geänderte lokale Inhalt wird automatisch mit dem Git-Repository synchronisiert. Nachdem der Inhalt des Git-Repositorys geändert wurde, wird der neueste Inhalt automatisch abgerufen und mit dem lokalen Repository synchronisiert. Dadurch wird sichergestellt, dass das Remote-Repository und das lokale Repository auf dem neuesten Stand sind und der Inhalt der beiden Computer direkt synchronisiert wird. Sehen wir uns an, wie es mit Node.js implementiert wird: Zuerst benötigen wir ein Git-Repository zum Speichern der Daten. Gehen Sie einfach zu gitee.com und beantragen Sie die Eröffnung eines Lagers. Holen Sie sich nach der Erstellung die Adresse des Remote-Warehouses und kopieren Sie sie zur späteren Verwendung. Erstellen Sie einen lokalen Ordner zum Synchronisieren von Dokumentdaten. Führen Sie So binden Sie ein Remote-Repository: git init #Initialisiere das Lagergit remote add origin [Adresse deines Lagers] Git Push-Ursprung git push --set-upstream origin master #Erste Synchronisation des Warehouse Danach können Sie das Tool direkt ausführen. Fügen Sie dem Ordner eine neue Datei index.js hinzu Installieren Sie abhängige Pakete im Ordner Garn fügt untergeordneten Prozess hinzu Garn-Add-Iconv-Lite Garn hinzufügen Moment Schreiben Sie den Code in index.js: const untergeordneter Prozess = erforderlich("untergeordneter Prozess"); const iconv = erfordern("iconv-lite"); const moment = erfordern("moment"); Konstantenkodierung = "cp936"; const binaryEncoding = "binär"; //Führen Sie eine Zeile des cmd-Befehls aus. Funktion cmd(text) { returniere neues Promise((lösen, ablehnen) => { untergeordneter_Prozess.exec( Text, { Kodierung: Binärkodierung }, (err = "", stdout = "", stderr) => { wenn (Fehler) { lösen(fehler); zurückkehren; } auflösen (iconv.decode (Buffer.from (stdout, binaryEncoding), Kodierung)); } ); }); } //cmd Ausführungsreihenfolge async function run() { const Zeit = Moment ().Format ("JJJJ-MM-TT HH:mm:ss"); let status = warte auf cmd("git status"); Wenn ( status.includes( „kein Git-Repository (oder eines der übergeordneten Verzeichnisse): .git“ ) ) { //Das Verzeichnis ist nicht an die Git-Adresse gebunden console.log("Das Verzeichnis ist nicht an die Git-Adresse gebunden"); } anders { //An Git gebunden //Ziehen const pull = await cmd("git pull"); Wenn ( !pull.includes("Bereits auf dem neuesten Stand") && !pull.includes("Bereits auf dem neuesten Stand") ) { // Die neuesten Daten herunterladen console.log(`Die neuesten Daten herunterladen: ${time}`); } //Status status = warte auf cmd("git status"); wenn (status.includes('(verwende "git add"')) { //Lokaler Inhalt wurde geändert und muss übermittelt werden. await cmd("git add ."); warte auf cmd('git commit -m "sync"'); warte auf cmd("git push"); console.log(`Synchronisierung erfolgreich: ${time}`); } } } //Alle 30 Sekunden ausführen setInterval(() => { laufen(); }, 1000 * 30); laufen(); Dies funktioniert nicht, da wir Dateien im angegebenen Verzeichnis und nicht im aktuellen Verzeichnis synchronisieren möchten. Daher müssen wir es in eine EXE-Datei packen und in den zu synchronisierenden Ordner legen, um das angegebene Verzeichnis zu synchronisieren. Zuerst installieren wir global ein Abhängigkeitspaket: pkg npm install -g pkg Führen Sie dann im Tool-Verzeichnis Folgendes aus: pkg -t win index.js Sie können das Node.JS-Projekt in ein unabhängiges EXE-Programm packen und das EXE-Programm dann in das Verzeichnis legen, das eine Git-Synchronisierung benötigt. Um diese EXE-Datei nicht mit dem Lager zu synchronisieren, müssen wir diese Datei außerdem ausschließen Legen Sie also eine .gitignore-Datei in das synchronisierte Verzeichnis und fügen Sie eine Zeile hinzu, um die EXE-Datei zu entfernen Diese gepackte Datei: http://xiazai.jb51.net/202112/yuanma/indexdat_jb51.rar Diese Konfigurationsdatei: http://xiazai.jb51.net/202112/yuanma/gitignore_jb51.rar Damit das Programm direkt nach dem Einschalten des Computers gestartet werden kann, legen wir das Programm in den Startpunkt Öffnen Sie den Ordner, fügen Sie diesen Pfad in den Ordner ein und drücken Sie die Eingabetaste
Wir legen die Verknüpfung dieser Datei in das Startelement ein, sodass die Synchronisierung beim Einschalten des Computers durchgeführt wird und so eine kontinuierliche Synchronisierung erreicht wird. Alle 30 Sekunden wird geprüft, ob es auf dem neuesten Stand ist. Dies ist das Ende dieses Artikels darüber, wie man ein Dokumentsynchronisierungstool in nodejs erstellt, um automatisch mit gitee zu synchronisieren. Weitere verwandte Inhalte zum Dokumentsynchronisierungstool nodejs finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder durchsuchen Sie die folgenden verwandten Artikel weiter. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: So schreiben Sie Objekte und Parameter, um Flash in Firefox abzuspielen
1. Obere und untere Listen-Tags: <dl>..<...
1. Das Konzept von CSS: (Cascading Style Sheet) V...
Wenn Sie die neueste Ubuntu Server-Version verwen...
Jeder, der ein wenig über Datenoperationen und -w...
Aufschlag: # chkconfig --list Alle Systemdienste ...
Inhaltsverzeichnis 1. Problembeschreibung 2. Prob...
Vorne geschrieben Kürzlich berichtete mir ein Les...
SQL-Paging-Abfrage:Hintergrund Im System des Unte...
Einführung Weil JavaScript standardmäßig ein Thre...
1. Die blaue Farbe des Tags wird aufgehoben, wenn...
Überblick Binlog2sql ist ein Open-Source-MySQL-Bi...
Inhaltsverzeichnis 1. So überwachen Sie Tomcat 2....
Dieser Artikel gibt Ihnen den spezifischen Code v...
Vererbung von Kompositionen Kombinationsvererbung...
Docker Compose Docker Compose ist ein Tool zum De...