Frage:
Warum Versionskontrollsysteme zum Schreiben eines Papiers verwenden?
seteropere
2012-11-15 10:50:29 UTC
view on stackexchange narkive permalink

Ich folge dem Rat von @Piotr Migdal in Gibt es ein Git-ähnliches Internet-Repository für die Zusammenarbeit auf einem Papier? und möchte nach Versionskontrollen fragen: Wie nützlich sind sie (insbesondere)? unter LaTeX-Einstellungen) zum Schreiben von Papieren im Vergleich zu Dropbox und SugarSync?

Ich benutze SugarSync seit fast einem Jahr ohne Schmerzen. Normalerweise erstelle ich den Papierordner und lade andere Autoren zum Beitritt ein, damit wir die letzte Version des Papiers sehen und bearbeiten können.

Ich verwende die Versionskontrolle für meinen gesamten Code, jedoch nicht für die Manuskripte. Ich habe es einmal versucht, aber es war zu schwierig für meine Mitarbeiter.
Drei Wörter für Sie: Drei-Wege-Zusammenführung. Selbst wenn man keine Versionskontrolle verwendet, sollte jeder akademische Autor lernen, wie und wann man ein 3-Wege-Merge-Tool verwendet. Es ist ein Lebensretter; viel schneller und präziser als die Arbeit von Hand zu erledigen.
Siehe auch: [Welche Vorteile bietet die Verwendung der Versionskontrolle (Git, CVS usw.) in LaTeX-Dokumenten - TeX.SE] (http://tex.stackexchange.com/questions/1118/what-are-the-advantages-of -verwenden-Versionskontrolle-git-cvs-etc-in-latex-documen).
Sieben antworten:
#1
+55
Piotr Migdal
2012-11-15 17:01:15 UTC
view on stackexchange narkive permalink

tl; dr: Die Versionskontrolle ist schwieriger einzurichten, macht es jedoch sicher, an derselben Datei zu arbeiten, und erleichtert das Nachverfolgen des Verlaufs (dh früherer Versionen).

Vor- und Nachteile der Synchronisierung von Dateien

Ja, der größte Vorteil von Dingen wie Dropbox (ich verwende es auch zum Sichern und Synchronisieren meiner Dateien) und SugarSync ist ihre Einfachheit.

Sie arbeiten möglicherweise für die Zusammenarbeit an Dateien, aber:

  • Sie sind nicht für zwei Personen gedacht, die dieselbe Datei gleichzeitig bearbeiten (keine Zusammenführungsfunktionen - also ändert ein Typ a Datei kann Änderungen überschreiben, die von einem anderen Mann vorgenommen wurden, auch ohne das zu wissen.)
  • Sie erhalten keinen Verlauf, dh:
    • Hat jemand an dieser Datei gearbeitet, die ich bearbeiten möchte?
    • Hat jemand andere Dateien hinzugefügt oder geändert?
    • Welche Änderungen wurden vorgenommen?
    • Kann ich zu einer früheren Version wechseln, die ich an meinen Vorgesetzten gesendet habe?

Je nachdem, was Sie tun, ist dies möglicherweise kein Problem. Wenn zum Beispiel nur eine die Datei tex bearbeitet, während andere nur Zahlen lesen oder hochladen, ist das vollkommen in Ordnung.

Schauen Sie sich auch meine Antwort auf Simplest an Möglichkeit, gemeinsam ein Manuskript zu schreiben? mit einem nicht technisch versierten Mitarbeiter.

Versionskontrolle

Versionskontrollsysteme erfordern einige technische Kenntnisse.

Zwei der am häufigsten verwendeten Versionskontrollsysteme sind Git und Mercurial (wobei das zweite Windows-freundlicher und möglicherweise einfacher zu starten ist).

Beide sind standardmäßig nur mit Befehlszeilenzugriff ausgestattet, es gibt jedoch auch einige grafische Oberflächen (ich empfehle wirklich, mit SourceTree zu beginnen).

Wenn die Mitarbeiter also Technikfreaks sind, Bringe ihnen einfach bei, wie man es benutzt. Wenn nicht, gibt es einen Ausweg.

Sie können die Versionskontrolle selbst verfolgen, ohne andere einzubeziehen (ich mache das gerade mit zwei Mitarbeitern).

Nur Sie starten ein Repository in einem Ordner, den Sie freigeben (die Beispiele sind mit Git):

  cd ~ / path / to / the / folder
git init // Starten Sie das Git-Repository in diesem Ordner. // Sagen Sie git, um alle darin enthaltenen Dateien zu verfolgen.  

Jedes Mal, wenn Sie oder Ihr Mitarbeiter Änderungen vornehmen (z. B. einige Dateien hinzufügen, Tippfehler korrigieren, ein Kapitel überarbeiten, ...), werden Sie Gehen Sie wie folgt vor:

  git commit -a -m "Behobene Tippfehler in Abschnitt 3"  

Später können Sie zu dieser Version zurückkehren. und vergleiche auch z.B. Die aktuelle Version Ihrer Datei mit der vorherigen (standardmäßig - zeilenweise, hier - nach Wörtern):

  git diff HEAD ~ 1 --color-words my_file.tex  

Siehe auch:

Und ein Beispiel aus der Praxis für die Verwendung von diff (es macht mein Leben so viel einfacher: )); Nachrichten auf Polnisch festschreiben, aber ich denke, Sie haben die Idee:

enter image description here

enter image description here

Andernfalls ( ein Streifen von PhD Comics):

enter image description here

Wenn zwei Personen dieselbe Datei mit DropBox bearbeiten, hat DropBox "Konfliktkopien" erstellt, anstatt zu versuchen, beide Änderungen in derselben Datei zusammenzuführen, um eine Beschädigung der Datei zu vermeiden.
@BenNorris Danke, ich habe es behoben. Eigentlich habe ich darüber nachgedacht, Dateien zu überschreiben (damit die Änderungen verloren gehen, wenn sie von jemand anderem überschrieben werden).
Ah. Meine Mitarbeiter und ich verwenden die Funktion "Änderungen verfolgen" von MS Office-Produkten. Ich bin mir nicht sicher, ob Open Source-Textverarbeitungsprogramme eine ähnliche Funktion haben. In diesem Fall empfehle ich die Datumsstempelung.
Außerdem sympathisiere ich total mit dem PhDComics-Streifen. Nach "Thesis-Final.doc" hatte ich so viele Änderungen, dass ich nach einer Weile mit "Thesis-DoubleFinal.doc" endete.
@BenNorris Ich mag Versionskontrollsysteme für MS Words-Dokumente nicht besonders (da ich LaTeX oder einige kurze Artikel ohne Mathematik verwende - GoogleDocs). Vielleicht reichen für "doc" -Dateien MS-Tools aus (oder sind die beste Option); Ich weiß es nicht. Insbesondere, wenn das Verfolgen von Nicht-Code-Dateien (also nicht nur das Archivieren, sondern auch das Betrachten von Unterschieden usw.) mit Git schwierig sein kann (ich weiß nicht, ob dies auf einfache Weise möglich ist); Informationen zu Mercurial finden Sie unter http://stackoverflow.com/questions/6374469/svn-or-mercurial-version-control-of-word-documents.
* Wenn zwei Personen dieselbe Datei mit DropBox bearbeiten, hat DropBox "Konfliktkopien" erstellt, anstatt zu versuchen, beide Änderungen in derselben Datei zusammenzuführen, um eine Beschädigung der Datei zu vermeiden. * Wie kann festgestellt werden, wann dies geschieht? Die beiden widersprüchlichen Versionen können Stunden oder sogar Tage voneinander entfernt sein. Dies ist unmöglich, ohne den Inhalt sorgfältig zu analysieren (und manchmal sogar zu analysieren).
@FedericoPoloni - Das von mir beschriebene Phänomen tritt nur auf, wenn zwei oder mehr Personen die Datei ** gleichzeitig ** bearbeiten.
Verwenden Sie "git" nur, wenn Sie Informatiker sind und viel Zeit verschwenden müssen.
@Kaz Ich bin kein Informatiker und für mich hat es funktioniert.
Ein großartiger Nebeneffekt bei der Verwendung der Versionskontrolle für ein Papier: Angenommen, Sie drucken eine Kopie der Version * n * Ihres Papiers aus und geben sie den Mitarbeitern für Kommentare. Eine Weile später, wenn Sie auf Version * n + 10 * sind, melden sich einige von ihnen mit ihren Änderungen bei Ihnen. Mit der Versionskontrolle (zumindest mit Git) ist es einfach, ihre Änderungen * gegen Version n * einzugeben und sie dann auf Ihre aktuelle Version anzuwenden.
Ich benutze [SmartGit] (http://www.syntevo.com/smartgithg/index.html), um auf Git zuzugreifen. Es ist viel einfacher als mit der Kommandozeile herumzuspielen und kostenlos für den nichtkommerziellen Gebrauch. Ich habe festgestellt, dass die automatische Verbindung zu BitBucket nicht richtig funktioniert, sodass Sie den Link ausschneiden und einfügen müssen.
#2
+35
Paul Hiemstra
2012-11-15 13:55:22 UTC
view on stackexchange narkive permalink

Ich bin mir nicht ganz sicher, wie Dropbox- und Zuckersynchronisierung funktionieren, aber ihr Hauptziel ist nicht, Änderungen zu überwachen, sondern Dateien über eine Vielzahl von Plattformen synchron zu halten und Backups bereitzustellen. Darüber hinaus können Sie mit einem guten Versionskontrollsystem ältere Versionen behalten, aber auch die Änderungen kommentieren erklären, warum sie vorgenommen wurden. Die Versionskontrolle garantiert auch, dass die Änderungskette einer Tex-Datei auch über sehr lange Zeiträume erhalten bleibt (z. B. Übermittlung an Journal a, Ablehnung, Übermittlung an Journal b, Abrufen von Überprüfungen, neue Version, Akzeptanz: Ein solcher Zyklus könnte leicht 1,5 Jahre sein).

Auch in einem Versionskontrollsystem (VCS) haben Sie entschieden, wann Sie eine Version speichern möchten . In Dropbox kann ich mir vorstellen, dass das System diese Entscheidung trifft. Es ist wichtig, selbst die Kontrolle zu haben, um beispielsweise beim erneuten Einreichen eines Papiers eine Differenzdatei erstellen zu können (siehe auch meine Antwort auf diese Frage zu TeX SE).

Verwenden von a Mit VCS können Sie auch problemlos mit Personen zusammenarbeiten. Erstellen Sie einfach ein privates Repository bei bitbucket (unterstützt mercurial und git), sorgen Sie dafür, dass die anderen Autoren Lese- und / oder Schreibzugriff auf Ihre Tex-Dateien im Repository haben, und sie können das Papier ändern oder hinzufügen. Das VCS kümmert sich um das Zusammenführen.

Ich verwende Mercurial selbst für die Versionskontrolle. Für die Versionskontrolle einer Tex-Datei kann ein VCS jedoch übertrieben sein. Ich würde Mercurial trotzdem empfehlen.

Für eine Tex-Datei ist das kein Overkill - siehe Screenshot [aus meiner Antwort] (http://academia.stackexchange.com/a/5286/49) und urteilen Sie selbst :).
+1 Wirklich gute Antwort! Es gibt jedoch zwei Dinge, die ich hier vermisse: ** 1) ** Es ist besser, eine große Datei in kleinere aufzuteilen. Dies ist in LaTeX problemlos möglich. ** 2) ** Wenn zwei Personen _realtime an derselben Datei_ arbeiten möchten, empfehle ich, vor dem VCS eine ** Multi-Editor ** -Ebene zu platzieren. [C9] (https://c9.io) oder Google Text & Tabellen sind gute Beispiele.
Ich musste auch ein Konto für diese Stack Exchange-Site erstellen, um dieser Antwort +1 zu geben. :) Das Schöne an Bitbucket ist, dass es auch einen netten Android-Client für die Site gibt, mit dem Sie Änderungen an Ihren Repositorys von überall aus überwachen können (vorausgesetzt, Sie haben ein Android-Smartphone). VCSs sind im Allgemeinen großartig, da sie die Autoreninformationen für alle darin enthaltenen Dateien pro Zeile speichern. Tex-Dateien funktionieren gut mit VCSs, da es sich im Gegensatz zu beispielsweise Word-Dokumenten, bei denen Sie die internen Versionsfunktionen von Word verwenden müssen, um reine Textdateien handelt.
@jmendeth für eine wissenschaftliche Arbeit würde ich nicht in Subdateien aufteilen, für einen Bericht oder ein Buch würde ich.
@PaulHiemstra natürlich würde ich auch nicht für eine Zeitung. Aber ich habe allgemein gesprochen. :) :)
Ich benutze SVN für meine Papiere immer aus genau den oben genannten Gründen. Wenn Sie in Eile sind (Sie kennen uns Studenten ..) und etwas speichern und den Computer herunterfahren, kann es sein, dass die Datei nicht vollständig mit Dropbox synchronisiert ist. Bei SVN oder einem anderen VCS müssen Sie Ihre Änderung explizit festschreiben und sicherstellen, dass dies sichergestellt ist es wird tatsächlich hochgeladen.
@jmendeth Ich würde alles andere als ein kurzes Papier in mehrere Dateien aufteilen, besonders wenn ich mit einem VCS arbeite. Es ermöglicht Benutzern, an verschiedenen Abschnitten des Dokuments zu arbeiten, ohne den Zusammenführungsprozess durchlaufen zu müssen. Aber auch einfach, weil Tex-Dateien sehr lang und ausführlich werden können, insbesondere wenn sie Tabellen oder Grafiken enthalten
Wenn Personen an verschiedenen Abschnitten arbeiten, ist die Zusammenführung ebenfalls trivial.
#3
+17
F'x
2012-11-15 14:53:24 UTC
view on stackexchange narkive permalink

Angesichts des Lobes, das Versionskontrollsysteme in den vorhandenen Antworten erhalten haben, werde ich hier für eine Sekunde den Anwalt des Teufels spielen und unterstreichen, was meiner Meinung nach ein sehr wichtiger Punkt ist: Es hängt stark davon ab, was Ihre Mitautoren sind sind mit vertraut.

Ich verwende die Versionskontrolle für die meisten Projekte, die ich alleine mache, vom Code bis zum Papier. Sie müssen sich jedoch darüber im Klaren sein, dass nicht jeder mit diesem Paradigma vertraut ist und dass diejenigen, die damit vertraut sind, möglicherweise nicht mit einer bestimmten Software vertraut sind (ich selbst bin ein starker Subversion-Benutzer, habe aber noch nie Git verwendet…). Dies gilt insbesondere für Personen, die keine Software entwickeln, da diese Tools aus dem Bereich der Softwareentwicklung stammen. Überprüfen Sie also, was Ihre Co-Autoren verwenden und was sie bereit sind zu lernen. Das Tolle an einer einfachen Synchronisationslösung (wie DropBox) ohne Versionskontrolle ist, dass ihre Lernkurve flach ist. Vereinbaren Sie einfach ein paar Regeln (Datumsstempel aller Dateien, Hinzufügen von Initialen, immer senden eine E-Mail, wenn Sie eine neue Version erstellt haben). Jeder kann das in einer Minute verstehen.

Abschließend möchte ich noch eine Bemerkung hinzufügen: Die Notwendigkeit, den Revisionsverlauf kurzfristig zu verfolgen, erfordert nicht unbedingt, dass Sie den Revisionsverlauf für die Nachwelt aufzeichnen. Beispielsweise erstellt mein inkrementelles Sicherungssystem (Apples Time Machine) stündlich für einen Tag, jeden Tag für den letzten Monat usw. Schnappschüsse meines Dateiversionsverlaufs. Dies deckt einen Teil der Notwendigkeit ab, ältere Versionen kurzfristig zu verfolgen.

+1 für die Nachricht Ihrer Mitarbeiter, aber wenn Sie mit LaTeX-Benutzern (vs say Word) zusammenarbeiten, wie der OM vorschlägt, sind diese wahrscheinlich offener für die Idee von VC (ich denke), sodass es sich wahrscheinlich lohnt, dies zu tun der Fall.
Sie können auch zu einem Solo-Workflow wechseln, wenn Sie mit Nicht-VCS-Benutzern arbeiten: Sie tauschen Papiere per E-Mail mit Ihren Mitarbeitern aus, und sobald Sie sie erhalten, führen Sie ein `git commit --author =" ... "` aus in Ihrem privaten Git-Repository. Alternativ legen Sie ein Git-Repository in Dropbox ab und weisen Ihren Co-Autor an, den versteckten Ordner ".git" einfach zu ignorieren.
#4
+12
walkmanyi
2012-11-15 13:53:31 UTC
view on stackexchange narkive permalink

Wie nützlich sind sie (insbesondere unter Latex-Einstellungen) für das Schreiben von Papieren im Vergleich zu Dropbox und SugarSync?

Ich bin ein langjähriger Benutzer von Versionskontrollsystemen, eigentlich alles Ich habe (mein $ HOME-Ordner) in einer VC gesichert.

Ich habe mich bemüht, verschiedene Versionskontrollsysteme zum Schreiben vieler (10+) Forschungsarbeiten zu verwenden, die alle in LaTeX geschrieben wurden. Meine Erfahrungen mit der Verwendung von VCs zum Schreiben von Forschungsarbeiten sind jedoch gemischt, wenn nicht sogar geradezu negativ. Neben der einfachen Synchronisation mit einem VC besteht das Hauptproblem darin, die Aktualisierungen zusammenzuführen. Im Gegensatz zum Quellcode von Programmen ist das Zusammenführen von LaTeX nicht so einfach, hauptsächlich aufgrund von Zeilenumbruchproblemen. Zweitens, obwohl ich kein Problem mit verschiedenen VCs habe, haben meine Co-Autoren (sehr heterogener Personenmix) nicht unbedingt Erfahrung mit dem, den ich verwende, oder verwenden direkt einen anderen oder haben keine Ahnung von diesem Zeug. Fügen Sie die Eigenart des Einrichtens von Passwörtern, SSH-Tunneln, der Installation von clientseitiger Software usw. hinzu, und Sie sehen, dass die Verwendung eines VC insgesamt (bestenfalls) keine reibungslose Erfahrung ist.

In letzter Zeit (3) Papiere bisher), habe ich Dropbox ausprobiert und bin ziemlich zufrieden mit dem Ergebnis. Obwohl es nicht alle Probleme löst, scheint es mir zumindest einige zu lösen:

  • fast null Setup, auch Laien haben kein Problem bei der Installation des Clients
  • Keine explizite Synchronisierung, alles funktioniert sofort (kein Befehlszeilenmaterial für svn / git / bzr / ... add / remove / move / ...)
  • Probleme beim Zusammenführen sind ungefähr die gleichen wie bei einer Version Kontrollsystem - selbst wenn ein VC vorhanden ist, habe ich immer explizite Benachrichtigungen über Schreibsperren per E-Mail an Co-Autoren gesendet, oder IM
  • Dropbox verfügt über eine rudimentäre Versionskontrolle, für meine Zwecke ist dies ziemlich ausreichend. Beim Schreiben von Papieren geht es nicht um Verzweigung, oder?
  • Außerdem ist kein Repository-Setup erforderlich. Sie teilen einfach einen Ordner mit einer ausgewählten Gruppe von Co-Autoren und das wars. Niemand sonst kann es sehen. Wenige Klicks, fast kein Aufwand.

Wie Sie sehen, würde ich raten, bei der Dropbox-ähnlichen Lösung zu bleiben . Zumindest für meine Zwecke stellte sich heraus, dass dies die bisher beste Lösung war.


Als Folge der eingegangenen Kommentare: Berücksichtigen Sie auch die Anforderungen, die Sie an das Schreiben einer Forschungsarbeit stellen. Warum sollten Sie eine schwere Lösung wie eine verteilte Versionskontrolle verwenden, wenn wir hier von 1-10 Textdateien, einer Handvoll Bildern und möglicherweise einem Datenrepository (Binär- oder Textblobs) sprechen? Müssen Sie dafür wirklich den ganzen Ärger mit einem DVCS durchstehen? Vielleicht, wenn Ihre Forschung eher ein Sonderfall ist, denke ich die meiste Zeit nicht. Für mich überwiegen die Einfachheit und Zugänglichkeit von Lösungen wie Dropbox für Laien bei weitem die fortschrittlichen technologischen Funktionen wie Verzweigung, Tagging usw.
Können Sie selbst auswählen, welche alten Versionen in Dropbox gespeichert werden? Sie möchten beispielsweise die Version, die Sie an ein Journal gesendet haben, um Differenzdateien zu erstellen, genau diese behalten.
@Paul Hiemstra: Ich spreche über die Verwendung von Dropbox ausschließlich zum Zwecke des kollaborativen Schreibens. Außerdem speichere ich den Text immer in meinem eigenen $ HOME-Ordner, der wie gesagt separat versioniert ist. Um die Frage zu beantworten, erstelle ich nach einem Meilenstein (Einreichung, Revision 1,2, ...) immer einen separaten Ordner und speichere dort die Meilensteinversion. Immerhin ist es ungefähr das Gleiche wie Subversion, wenn Sie ein Tag erstellen - es ist sowieso ein separater Ordner in svn ... Denken Sie daran, ein Papier ist ein kleines Datenelement (wenige kB), keine * GB-Codebasis .
* Das Zusammenführen von LaTeX ist nicht so einfach, hauptsächlich aufgrund von Zeilenumbruchproblemen. * Ich würde eher sagen, dass das Zusammenführen in LaTeX nicht so einfach ist, wenn Ihre Co-Autoren darauf bestehen, die Zeilenumbrüche in der Datei zufällig zu ändern. Es ist traurig, dass der dynamische Zeilenumbruch 2012 nicht auf allen Desktops Einzug gehalten hat.
„Das Zusammenführen von LaTeX ist nicht so einfach“ - Die Art und Weise, mit Zeilenumbrüchen in LaTeX umzugehen, besteht darin, dass jeder Satz in einer separaten logischen Zeile steht, da Code-VCS alle zeilenbasiert sind. Moderne Texteditoren handhaben dies reibungslos und machen die Organisation des Dokuments viel logischer und werden von VCS elegant gehandhabt. - "Beim Schreiben von Papieren geht es nicht um Verzweigung, oder?" - falsch. Tatsächlich eignet sich die Verzweigung perfekt für Trial-and-Error-Arbeiten oder für die gleichzeitige Arbeit an separaten Features / Abschnitten. Dies ist * perfekt * zum Bearbeiten von Papieren.
@FedericoPoloni: Sie haben Recht mit dem inkonsistenten Zeilenumbruch. Es steht den Benutzern jedoch frei, ihre Werkzeuge auszuwählen, und dies kann die Formatierung ihrer LaTeX-Quelle beeinflussen (z. B. verwenden einige gerne LyX oder eine feste Linienbreite usw.). Es kann auch gute Gründe gegen die Verwendung von dynamischem Zeilenumbruch geben - manche Leute mögen es einfach nicht und finden es verwirrend. Ist es ein Grund, keine Papiere mit ihnen zu schreiben? Oder Zeit in (meistens) vergeblichen Versuchen zu verbringen, ihnen den "richtigen Weg" beizubringen?
@KonradRudolph: Ich möchte keine Flamme über diese Themen entzünden, dennoch gibt es hier einen wichtigen nicht-technologischen Punkt. Ich weiß nicht, mit wem Sie Papiere schreiben, aber meine Erfahrung zeigt, dass nicht jeder so technisch versiert ist wie ich. Nur zu installieren und zu verstehen, z. B. Git ist für einige schwer genug, ohne darüber zu sprechen, ihre Köpfe um Verzweigungen zu wickeln. Haben Sie das bei einem Professor über 50 versucht? Wie wäre es mit Kollegen aus den Geisteswissenschaften? Viel Glück mit DVCS und Verzweigung. Ich schreibe besser eine vollständige Arbeit und arbeite in der Zwischenzeit über gute alte E-Mail-Anhänge zusammen.
@walkmanyi Ich schätze diesen Punkt. Als jemand mit rein biologischen Kollaborateuren denke ich, dass dies tatsächlich das wahre Killerargument sein könnte: Kollaborateure können sich mit aller Kraft weigern, diese Technologie zu verwenden. Egal wie viele schöne Argumente * dafür * wir finden, wir können es immer noch nicht verwenden.
@walkmanyi Ich stimme zu, manchmal muss man sich mit Nicht-Technikern auseinandersetzen. In dem anderen Beitrag wollte ich nur darauf hinweisen, wo das eigentliche Problem meiner Meinung nach liegt. Harte Zeilenumbrüche behindern nicht nur die Verwendung eines VCS, sondern im Grunde jede automatisierte Verarbeitung von Text, beginnend mit der Suche nach zwei aufeinander folgenden Wörtern im Papier.
@walkmanyi,, was auch immer * Mitarbeiter * verwenden, ist irrelevant. Behandeln Sie Ihr Ende des Chaos einfach unter Versionskontrolle.
#5
+10
user244795
2012-11-29 01:41:25 UTC
view on stackexchange narkive permalink

Ich empfehle dringend, die Versionskontrolle zum Schreiben eines Papiers zu verwenden, da meine Berater noch nie sehr gut mit Computern umgehen konnten. Sie bearbeiten oft die falschen Versionen von Dokumenten und senden sie mir dann. Dann muss ich herausfinden, was sie geändert haben, und es manuell in meine neueste Version eingeben. Ich umgehe dieses Problem, indem ich verfolge, welche Version ich ihnen per E-Mail gesendet habe, und dann vergleiche, was sie mir mithilfe von Release-Tags zurückgesendet haben.

Gehen Sie nicht davon aus, dass der Chef jemals Ihre Versionskontrolle verwenden wird System. Er muss nicht. Aber es ist immer noch äußerst nützlich, die Versionskontrolle zu verwenden! Unsere Artikel werden in MS Word erstellt, da dies alles ist, was der Chef zu verwenden weiß, und das ist das Dateiformat, das das Journal wünscht. Er vergisst oft, die Funktion "Änderungen verfolgen" zu verwenden, aber Sie können die "Dokumente vergleichen und zusammenführen" im Menü "Extras" verwenden, um zu bestimmen, was er bearbeitet hat. ("Zusammenführen" Sie es einfach mit der Version, die Sie per E-Mail gesendet haben, und das resultierende Dokument zeigt die Unterschiede mithilfe der Hervorhebung "Änderungen verfolgen" an.) Ich muss nie Zeitstempel vergleichen oder mir Gedanken darüber machen, welche Datei die neueste Version ist, und selbst wenn MS Word zerstört eine meiner Figuren Ich weiß, dass ich sie leicht wiederherstellen kann.

Sie können auch alle Ihre experimentellen Rohdaten, den Nachbearbeitungscode, die Figurendateien und die Labornotizen unter Versionskontrolle halten Dann können Sie das gesamte Repository sichern und sicher sein, dass Sie nie etwas verlieren. Ich wende Repository-weite Tags an, um anzuzeigen, wann ich neue Experimente durchführe. Dies hilft, den Code mit den Daten synchron zu halten. Dies beantwortet die alte Frage, mit welcher Methode die Zahlen generiert wurden. ("War es Methode A? Wir haben das zuletzt vor sechs Monaten verwendet, aber es könnte eine ähnliche Methode B gewesen sein, die wir zu dieser Zeit entwickelt haben. Vielleicht haben wir A.1 verwendet? Großartig, wir müssen alles noch einmal machen wieder ... ")

Sie können die Repository-Push-Funktion als eine Art verteiltes Sicherungssystem verwenden. Ich verwende TortoiseHg (eine Mercurial-GUI für Windows), um das Repository zu pushen / zu ziehen Ein USB-Stick, der als Backup zwischen meinem Heim- und Arbeitscomputer sowie zu einer Netzwerkfreigabe transportiert werden kann, und ich überschreibe niemals die falschen Dateien oder erstelle zusätzliche Kopien der Dateien. Vergessen Sie übrigens die Verwendung der Verzweigungs- und Zusammenführungsfunktionen - sie sind für Binärdateien nicht wirklich sinnvoll, aber es ist wertvoll zu wissen, ob sie versehentlich geändert wurden. Mercurial funktioniert auch mit riesigen Binärdateien in herstellereigenen Formaten recht gut.

Zusammenfassung: Wissenschaftliche Experimente in der realen Welt produzieren zu viele Dateien, um sie manuell zu versionieren, und der Chef ist möglicherweise nicht sehr technisch versiert Die Versionskontrolle behebt diese Probleme, und Sie müssen nie wieder Dateinamen mit zufälligen Daten sortieren.

+1 für die reale Situation. :) Mein Chef kann auch nichts anderes als Word verwenden. Ich verwende LaTeX, um meine Dissertation zu schreiben, und denke immer noch darüber nach, wie ich damit umgehen soll.
Während ich LaTeX benutze, gibt es keine Möglichkeit, den Chef dazu zu bringen, es zu benutzen. "Änderungen verfolgen" in Word ist ihm einfach zu wichtig. Vielleicht können Sie LyX (www.lyx.org) kompromittieren und verwenden.
#6
+9
user102
2012-11-15 16:13:01 UTC
view on stackexchange narkive permalink

Die anderen Antworten enthalten viele gute Punkte, aber ich möchte noch einen hinzufügen, der das Zeit- / Projektmanagement betrifft. Obwohl Sie die Versionskontrolle mit Dropbox durchführen können, besteht die Hauptstärke von Dropbox darin, dass alle gleichzeitig an denselben Dateien arbeiten, was sie schnell und immer synchronisiert macht, und es ist ziemlich gut für einen "Ansturm", bei dem n Menschen müssen über einen bestimmten Zeitraum an einem bestimmten Ziel zusammenarbeiten.

Derzeit arbeite ich jedoch an mehr als 5 Papieren gleichzeitig, mit unterschiedlichen zeitlichen Einschränkungen, unterschiedlichen Fristen und unterschiedlichen Beteiligungen, und ich schätze es, dass ich leicht die Geschichte des Papiers habe, der was begangen hat / wann, und ich möchte gerne Beiträge zu einem Papier leisten. Daher weiß ich, dass die Version auf dem Haupt-Repo konsistent ist, und ich kann einige Teile an einem lokalen Repo hängen lassen, ohne alles zu beschädigen, und wenn ich mich verpflichte, muss ich mich bemühen, zu verstehen, was sich tatsächlich geändert hat und was das Interesse ist . In dieser Hinsicht kann die Tatsache, dass Sie einen Issue-Tracker einfach einem Repo zuordnen können (z. B. mit BitBucket), ebenfalls sehr hilfreich sein (z. B. können Sie ein Problem hinzufügen: "Dieses andere Papier zitieren". , fügen Sie das Papier bei und lösen Sie das Problem, wenn Sie den Absatz festschreiben, in dem das Papier tatsächlich zitiert wird.

Dieser Projektmanagementansatz kann eine Verzerrung sein, die aus meinem Programmierhintergrund stammt, und in einigen Fällen übertrieben sein, aber in Am Ende gibt es kein Killer-Feature von dem einen oder anderen Ansatz, es ist auch, wie angenehm es Ihr Leben macht.

#7
  0
Dror
2012-11-19 00:51:15 UTC
view on stackexchange narkive permalink

Ich habe keine Erfahrung mit dem, was ich vorschlagen werde, aber es könnte hilfreich sein. Verwenden Sie beide ; Verwenden Sie sowohl Dropbox als auch einige VCS . Wie? Starten Sie im Ordner Dropbox , den Sie freigeben möchten, ein git -Repository (siehe Antwort von @PiotrMigdal). Soweit ich mich erinnere, können Sie ein Verzeichnis von der Synchronisierung in der Dropbox ausschließen, und Sie sollten das Verzeichnis .git (versteckt-) ausschließen, da dies für Sie nicht von Interesse ist Ihre Mitarbeiter.

Auf diese Weise können Sie und Ihre Mitarbeiter die Daten problemlos über Dropbox gemeinsam nutzen und persönlich die Vorteile eines echten VCS in Originalgröße nutzen.

Wie immer bei Shared-Digital-Arbeiten ist es jedoch eines der wichtigsten Themen, die Richtlinien festzulegen - sie sollten allen Teilnehmern klar sein.

Dies ist ein gefährlicher Vorschlag. Wenn jemand mit dem .git-Ordner herumspielt, kann dieser irreversibel beschädigt werden. In Git ist die Freigabe integriert, und dies kann im Dropbox-Stil automatisiert werden. Verwenden Sie dies stattdessen. Nicht so einfach, aber viel sicherer.
@zenbomb: Ich sehe das Problem. Sie können das Verzeichnis ".git" von der "Dropbox" -Synchronisierung ausschließen.
Es gibt einen Ausweg - verwenden Sie das "nackte" Repository auf "DropBox", das die "Fernbedienung" des tatsächlichen vollständigen Repositorys ist, das sich irgendwo auf Ihrem Laufwerk befindet.
Obwohl nichts mit der Frage zu tun hat, muss ich erwähnen, dass diese Lösung fehlerhaft ist. Sie können ein Verzeichnis in Ihrem lokalen Dropbox-Ordner nicht von der Synchronisierung mit dem Online-Dropbox-Konto ausschließen. Es ist umgekehrt, was möglich ist.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...