Wir arbeiten mit einigen Nicht-Programmierern (Autoren) zusammen, die zu einem unserer Projekte beitragen müssen.
Jetzt mögen sie einfach nicht die Idee, Git (oder irgendetwas anderes) für die Versionskontrolle ihrer Arbeit zu verwenden. Ich denke, das liegt daran, dass es sich einfach nicht lohnt, sich mit den verdrehten Konzepten der Versionskontrolle auseinanderzusetzen. (Als ich sie zum ersten Mal zum Verzweigen und Zusammenführen brachte, sahen sie so aus, als würde ich sie beleidigen.)
Jetzt sind wir nicht in der Lage, sie zu erziehen oder zu überzeugen, es zu benutzen. Wir versuchen nur, Alternativen zu finden, damit wir ihre gesamte Arbeit versionieren können (was wir brauchen) - und sie erhalten einen einfachen Workflow und konzentrieren sich auf das, was sie tun.
Ich habe mir ein paar Ideen ausgedacht ...
- Sagen Sie ihnen, dass sie ihre Arbeit jedes Mal als separate Datei speichern sollen, wenn sie nicht-triviale Änderungen vornehmen, und verwenden Sie dann einen Diff auf unserer Seite, um nur Änderungen zu verfolgen.
- Schreiben Sie ein Programm (in Python), das die "Meilensteine" in CSSEdit auf irgendeine Weise implementiert.
Über das Projekt:
Es ist ein Verarbeitungssystem für natürliche Sprachen (in C + Python geschrieben). Wir haben einige Autoren beauftragt, Eingaben für das System in verschiedenen Sprachen vorzubereiten. Und während wir die Software weiterentwickeln, brauchen wir diese Autoren, um Änderungen an ihren Eingaben (Artikeln) vorzunehmen. Manchmal sind die Änderungen sehr klein (ein oder zwei Wörter) und manchmal groß.
Der Grund, warum wir diese Änderungen versionieren müssen, ist, dass jede kleine / große Änderung der Eingabe die Ausgabe des Systems dramatisch verändern kann.
quelle
Antworten:
Dies liegt wahrscheinlich daran, dass das Verzweigen und Zusammenführen fortgeschrittene Konzepte sind und unendlich weniger nützlich sind, als nur die Änderungen im Auge zu behalten.
Warum also nicht einfach "Festschreiben" (Speichern) und "Aktualisieren" erklären? Zwei wirklich einfache Konzepte. Ich bin sicher, Sie können es in weniger als 10 Minuten erklären.
Wenn Sie wirklich getrennte Zweige und ähnliches verwenden möchten, können Sie diesen Teil selbst erledigen, ohne sie mit einzubeziehen.
quelle
Ein eher unorthodoxer Ansatz wäre nur die Verwendung von Dropbox . Lassen Sie die Autoren die Dateien im Dropbox-Verzeichnis speichern, und Sie erhalten eine kostenlose Versionierung und Sicherung. Außerdem gibt es für die Autoren im Grunde keine Lernkurve.
Für Git klingt es so, als würden Sie am Ende den Autoren ohnehin die richtigen Verzweigungsversionen zur Verfügung stellen. Legen Sie also einfach das Git-Repo in die Dropbox und übernehmen Sie die Verzweigung und Zusammenführung für die Autoren.
quelle
Um ehrlich zu sein, lautet die Antwort in Ihrer Ausgabe: "Wir haben einige Schriftsteller eingestellt" - manchmal muss man einfach nur blutig sein ... sie wollen Ihr Geld, sie müssen tun, was Sie wollen, vorausgesetzt, dass das, was Sie wollen, nicht unvernünftig ist.
Das Argument, das Sie vorbringen, ist das Argument, das Sie bereits vorgebracht haben - wir müssen in der Lage sein, X, Y und Z auszuführen, damit das Produkt funktioniert - und dazu müssen Sie dies tun. Wir werden uns so gut wie möglich unterstützen, aber damit dies funktioniert (und damit es für Sie, den Verfasser, weiterhin als Einkommensquelle dient), muss dies geschehen.
Ich stimme eher zu, dass eine geeignete wikibasierte Lösung gut zu passen scheint. Die Herausforderung besteht jedoch darin, einen Kompromiss zwischen dem Arbeitsablauf und Ihren Anforderungen zu finden.
Ich werde den Schlüssel Punkt wiederholen - um für Ihr Projekt ein Erfolg , den Sie die Artikel sein müssen von einem vereinbarten Satz von Regeln werden versioniert deshalb spielen müssen diejenigen , die auf den Artikeln arbeiten, wenn dies Sie nicht passieren wird erhalten verbrannt und durch die Erweiterung so werden die Schriftsteller.
quelle
Ich musste mich zuvor mit einer ähnlichen Situation auseinandersetzen. Am Ende haben wir nur einen Entwickler (mich) als Ansprechpartner für die Versionskontrolle des Drittanbieters festgelegt.
Die dritte Partei schickte mir jeden Tag eine Zip-Datei ihrer Projektdateien per E-Mail und ich erledigte das Einchecken für sie. Ich richte einen separaten Projektarbeitsbereich und ein SVN-Konto für sie ein und entpackte die Dateien in diesen Arbeitsbereich, wobei ich überschrieb, was dort war, und dann das Einchecken unter diesem Konto durchführte.
Es war nicht besonders lustig, jeden Tag etwas zu tun, aber manchmal ist es wichtiger, nur die Arbeit zu erledigen.
Ein Pluspunkt war, dass es mir geholfen hat, ihre Arbeit zu überprüfen, um sicherzustellen, dass sie keinen fehlerhaften Code und keine fehlerhaften Daten einchecken, die den Build beschädigen würden.
quelle
SparkleShare ist ein git-basierter Dropbox-Klon, der Ihren Anforderungen entspricht.
Update (November 2015) : Das Projekt scheint aufgegeben worden zu sein (letzte Veröffentlichung von April 2014).
quelle
Wenn Sie vorbereiteten Arbeitsbereich mit transparenter VCS-Verwendung versehen können, wird VCS verwendet. Bringen Sie Nicht-Programmierern nicht bei, wie VCS von Programmierern verwendet wird
Finden Sie einfach einen Editor mit eingebetteter VCS-Unterstützung, konfigurieren Sie ihn und zeigen Sie weitere einfache Schritte in ihren Arbeiten.
Nur ein Beispiel - Editplus kennt sich mit Subversion aus und kann grundlegende SVN-Operationen im Editor-Fenster ausführen. Das neueste Editplus kann TortoiseGIT sogar für die Git-Integration verwenden
Bearbeiten : Eine Alternative gefunden: EasySVN , das bei richtiger Konfiguration die Arbeitskopie überwacht und das automatische Festschreiben und Zusammenführen durchführt, sodass jedes Authoring-Tool für Endbenutzer und die Formate aller Dokumente verwendet werden kann
quelle
Was ist mit der Einrichtung eines WebDAV ?
Die Versionsgeschichte der geraden Linie wird für sie automatisch verarbeitet. Sie müssen lediglich eine Verbindung zum Server herstellen, als wäre es ein Netzlaufwerk, und jeder Speichervorgang wird als Festschreibung ausgeführt.
quelle
Google Dokumente
Google Text & Tabellen kann tun, was Sie möchten.
File > See Revision History
Damit können Sie Änderungen verfolgen.Sie haben auch das Problem, Dateien kostenlos hin- und herzugeben. Teile das Dokument einfach mit allen.
Schließlich ist es einfach zu bedienen; Die Autoren müssen nicht einmal wissen, dass gerade eine Versionierung stattfindet.
quelle
OS Agnostic
Schreiben Sie ein Python-Programm, in das Sie eine Datei ziehen und ablegen können. Dieses Programm kann dann das
git add
undgit commit
und was nicht und sie müssen sich nie damit befassen.oder
Verwenden Sie ein WebDav-basiertes Dateisystem, das Sie auf ihrem Computer bereitstellen können und das der Server
git
transparent erledigt .OSX / Linux
Schreiben Sie ein Python-basiertes FUSE-Plugin, das die Dateien aufgreift und an git überträgt. Dann können sie einfach das gemountete Dateisystem öffnen und transparent speichern. Es gibt einige FUSE für Windows-Ressourcen , aber sie sind wahrscheinlich nicht einmal einen Fehler wert.
Windows
Möglicherweise können Sie Code schreiben, um mithilfe der Dateisystem-Filtertreiber die Aufgaben transparent zu erledigen
git
.quelle
Ah, die Freuden von Nicht-Programmierern, die sich austoben. Ich würde vorschlagen, eine git / mercurial-Umgebung für sie einzurichten. Sagen Sie ihnen, sie sollen alles in einem Format speichern, das das Repo verarbeiten kann. Bei tortoisegit oder tortoisehg müssen sie nicht wissen, wie das Repo funktioniert. Sie prüfen nur, ob sich in ihrem Projektverzeichnis ein Ausrufezeichen befindet, klicken mit der rechten Maustaste auf die betreffende Datei und klicken auf Festschreiben. Geben Sie eine Zusammenfassung der Änderungen ein (sie sind Autoren, richtig?) Und Sie sind fertig!
Ein zusätzlicher Schritt im Workflow für sie, aber nichts über Zusammenführen / Verzweigen / Cooles. Die vorgefertigte Umgebung ist bereits für den Writer-Zweig eingerichtet, sodass kein Code angezeigt wird. Lassen Sie sie jeden Tag von einem Skript automatisch synchronisieren. Später, nachdem sie zu begehen , verwendet werden, können Sie zeigen ihnen zusätzliche Funktionen. Die Fähigkeit, zu sehen, was sich geändert hat, ist so nützlich, dass sie nicht mehr darauf verzichten können, wenn Sie sie erst einmal in ihren Workflow integriert haben.
quelle
Was ist mit Share Point? Ich weiß, dass es in den Entwicklungswelten nicht beliebt ist, aber wenn Ihre Autoren Windows als Betriebssystem verwenden, funktioniert es gut und sie wissen nicht wirklich, dass sie die Versionskontrolle verwenden (ein großes Plus für meine Arbeit).
Diese Lösung hält sie auch davon ab, mit allem umzugehen, was sie zu sehr erschrecken würde, da sie anscheinend von neuen Dingen abschrecken.
quelle
Könnten Sie ein Tool einrichten, das das Dateisystem überwacht, in dem die Writer ihre Dateien speichern, und das bei jedem Speichern ein automatisches Festschreiben durchführt?
Wenn Sie es auf eine Netzwerkfreigabe stellen, können Sie die gesamte Konfiguration durchführen, ohne sie einzubeziehen. Aber jedes Mal, wenn sie eine aktualisierte Version für Ihr Team zur Verfügung stellten, wurde sie zu git für Sie hinzugefügt.
quelle
Haben Sie sich Plastic SCM angesehen? Sie versuchen es einfacher zu machen
Wenn Sie nur versionierte Sicherungen wünschen, können Sie Dropbox verwenden oder den Windows-Sicherungsdienst einrichten. Oder Sie können Crashplan oder ein ähnliches Produkt installieren.
quelle
Für das Mercurial DVCS gibt es eine Benutzeroberfläche namens EasyMercurial , deren erklärtes Ziel es ist, ausdrücklich eine einfache Ansicht der grundlegenden Versionskontrollvorgänge bereitzustellen.
Ich würde empfehlen, es zu versuchen.
quelle
Ich musste oft mit Nicht-Programmierern zusammenarbeiten (hauptsächlich Grafiker), und wenn Ihre Autoren so wenig Ahnung haben, wie Arbeitsdateien zu verwalten sind wie Künstler, dann haben Sie ... hmmm ... Spaß ... .). Es gibt drei mögliche Ansätze:
Persönlich denke ich, dass Option 3 der richtige Weg ist. Es bedeutet etwas Schmerz und Ärger für jeden, der die Aktenlieferungen entgegennehmen und einchecken muss, aber weitaus weniger als bei jeder anderen Option.
Ich würde auch sagen, sei dir bewusst, dass Nicht-Programmierer Dateien mit jedem alten Dateinamen liefern, den du dir vorstellen kannst. Namenskonventionen sind ihnen fremd. Sie geben Ihnen eine Datei mit dem Namen "Picture" oder etwas anderes. Wenn Sie ihnen dann mitteilen, was daran nicht stimmt, erhalten Sie eine Datei mit dem Namen "Picture_Final", die nur etwa drei der Fehler behebt. Wenn Sie darauf hinweisen, erhalten Sie eine weitere Datei mit dem Namen "Picture_NewFinal" und dann (wenn Sie Glück haben) "Picture_NewFinal2", obwohl es möglich ist, dass sie an dieser Stelle die historische Entwicklung außer Acht lassen und sie "Spanner-Symbol" nennen Ding".
Auch hier können Sie versuchen, eine Namenskonvention durchzusetzen, was bedeutet, dass Sie ihnen im Voraus mitteilen, wie jede Datei heißen soll, oder Sie können stundenlang das Entschlüsseln und Umbenennen dessen, was sie Ihnen senden, vornehmen. Hier würde ich sagen, dass Sie die Tabelle ohnehin aus gesundheitlichen Gründen haben möchten. Lassen Sie sich also nicht überraschen, wenn dies nicht der Fall ist.
Hoffe das hilft - viel Spaß!
quelle
Wenn es eine Chance gibt, dass zwei von ihnen auf einmal auf dem gleichen Ziel arbeiten müssen UND wenn Sie all ihre Arbeit in Textdateien erledigen können, würde ich versuchen, gemeinsame Google-Dokumente zu verwenden.
Es hat eine unglaubliche Multi-Editor / Collaboration-Fähigkeit - bei weitem die beste, die ich je gesehen habe. Sie sind auch voll versioniert und können als Textdateien exportiert werden.
Aber das sind zwei ziemlich große Wenns.
quelle
Lassen Sie sie in einem Ordner arbeiten und speichern Sie die Dateien wie gewohnt.
Kopieren Sie den Inhalt dieses Ordners einmal am Tag (oder in der Woche usw.) nach backup_dd_mm_yyyy. Die meisten System-Quellcodes belegen angesichts des zur Verfügung stehenden Speicherplatzes nur wenig Speicherplatz.
Die Kopie kann entweder von Ihnen, einem Dritten, einem Tool oder einem Skript erstellt werden.
Dies begrenzt den Verlust auf einen Tag, gibt eine Historie, ist für sie transparent.
Nicht perfekt für jede Partei, aber eine Antwort, die versucht, einen Mittelweg einzuschlagen.
quelle