¿Utiliza algún software/método de control de versiones como escritores? [cerrado]

Como escritores, ¿utiliza algún software de control de versiones para rastrear y monitorear lo que escribe? Por ejemplo, si accidentalmente eliminó o sobrescribió un párrafo, ¿le gustaría recuperarlo?

Por lo general, lo que hago es guardar varias copias con números incrementales, pero encuentro que este no es un buen método porque termino con una carpeta llena de documentos de Word del mismo archivo + cambios. No es realmente fácil de organizar debido a eso.

(Nombre de la historia 1, Nombre de la historia 2, Nombre de la historia 3, ...)

Esta no es necesariamente una pregunta sobre programas, sino software de control de versiones utilizado para escribir / escritores, métodos, trucos, ...

No muy relacionado, porque estoy buscando una solución/flujo de trabajo que los escritores usen al escribir.
Ayuda mucho si escribe texto sin formato, en lugar de un formato de procesador de textos. Me imagino que si tengo el texto escrito, puedo hacer lo que quiera más tarde.
Tenga en cuenta que, debido a la forma en que se formó escritores.se, al principio estará muy sesgado hacia los programadores y otras personas de software que quieran escribir.
Google Docs, por ejemplo, hace un historial de revisión automático.
@DavidThornley: la diferencia clave son los archivos binarios y ascii. Los VCS pueden manejar el control de versiones de archivos binarios, pero no obtiene ninguna de las características agradables (como las comparaciones de versiones) que obtiene con los archivos ascii. Hay procesadores de texto que almacenan sus documentos como archivos ascii, en particular lyx (que almacena archivos como latex).
Sé que esta pregunta es muy popular, pero es una pregunta de encuesta, que no encaja bien con el formato SE. Preguntar qué considerar al decidir usar el control de versiones, o qué sistema de control de versiones usar, para la documentación estaría bien, pero con todas las respuestas ya aquí, no veo una manera limpia de hacer esa edición. Sugiero revisar las preguntas vinculadas y luego hacer una nueva pregunta si hay algo que aún desea preguntar. Gracias.
Recomiendo usar el editor Typora y git. Typora es un editor de rebajas WYSIWYG.
Una respuesta de tecnología semi-baja que uso a menudo (y sugerí a mis alumnos): envíese copias por correo electrónico al final de cada sesión de escritura o antes de grandes cambios; esas son copias firmes, disponibles tanto en una carpeta enviada como en su correo electrónico alternativo. dirección. Utiliza la marca de tiempo del correo electrónico como la "versión". Tiene la ventaja de que, si su computadora principal falla, hay una versión reciente accesible en red.

Respuestas (21)

Soy un programador en la vida real, por lo que usar un software de control de versiones fue una obviedad para mí. Escribo cosas en texto sin formato, con cada capítulo en un archivo de texto separado.

Uso Subversion en ellos, con TortoiseSVN en Windows, y también uso Dropbox para hacer una copia de seguridad de mi repositorio.

De esta manera, tengo mis cambios versionados, puedo comentar los cambios que confirmo y, si mi disco duro decide morir, puedo regresar muy rápido.

Curioso, yo uso lo mismo. Aunque en cuanto al alojamiento, uso VisualSVN. Es fácil de configurar en Windows, puede verlo con un navegador y está listo para usar en la red. Combine eso con TortoiseSVN, puede escribir en cualquier lugar de la casa con poca o ninguna configuración.
¿Visual SVN no es un complemento para Visual Studio?
Creo que se refiere al servidor VisualSVN, que es un servidor web Apache preconfigurado con el módulo SVN y una buena MMC-GUI para administrarlo; es básicamente una instalación de 2 clics y funciona con cualquier cliente SVN, no solo VisualSVN VS Enchufar.
Sí, esto es exactamente como lo hago yo. Uso unfuddle para mi alojamiento, de modo que todos mis WIP se guardan fuera del sitio.
Sé que soy tonto, pero ¿está diciendo que usa SVN para su trabajo escrito para realizar un seguimiento de los cambios, mantenerse actualizado, etc.?
@johnny: sí, escribo mis capítulos en un archivo de texto sin formato (sin formato), por lo que SVN hace su magia aquí.
Yo hago lo mismo, pero usando SyncroSVN porque me aterroriza la integración del explorador, aunque funciona bien. Trabajé en Dropbox directamente, pero descubrí que hay bloqueos para compartir que ocurren cuando estoy haciendo eso a veces. PAUSE Dropbox para mi sesión de trabajo o trabajo fuera de Dropbox y lo copio. También uso SyncBack para programar copias de seguridad (como archivos ZIP) de mis archivos de trabajo en una carpeta de Dropbox\Backup una o dos veces al día.
Además, soy anfitrión con Wush.Net. Muy barato y muy fiable. Puede conectar casi cualquier motor Diff con TortoiseSVN o similar. Uso Beyond Compare ya que hace un trabajo decente con los formatos de archivo de Word. UltraCompare también es agradable.
@Axarydax: ¿Dónde está almacenado su repositorio? parece que el proceso de copia de seguridad sería mucho más fácil con un VCS distribuido...
Esto también funciona si el software que usa para escribir guarda su texto y datos en algo parecido al texto sin formato. Por ejemplo, yWriter usa XML para los metadatos y RTF de texto sin formato para el texto, lo que significa que el software de control de versiones estándar funciona muy bien con él.
@Axarydax, ¿cómo convertirlos a mobi/pdf?

Realmente debería tomar y probar cualquier software de control de versiones que se presente en el mercado. Este software no es realmente más que controlar archivos de texto, y lo que hacemos es archivos de texto.

Yo uso Mercurial y estoy muy feliz por eso. Es fácil de usar solo para escribir, ya que Mercurial realiza un seguimiento de todos sus cambios a través del repositorio local, y fácil de usar cuando colabora, porque es un sistema de control de versiones distribuido . También se presenta una buena interfaz de usuario de Mercurial para Windows.

Pero le advierto que la fusión de archivos no está disponible, o será casi imposible, cuando esté utilizando algún tipo de procesador de texto (por ejemplo, Word). Este es un problema de todos los sistemas de control de versiones.

Debo señalar que la fusión no es realmente culpa del "procesador de texto" como tal, solo de los procesadores de texto existentes que no admiten el control de versiones (externo) de ninguna manera o forma (hmm, me pregunto si Word funciona con TFS... no es que use o recomiende TFS para eso)
La única forma que he encontrado para obtener diferencias y fusiones significativas es escribir la fuente del texto yo mismo, ya sea XML, HTML, LaTeX o lo que sea. Claro, las herramientas modernas (e incluso Word :-)) tienen la noción de exportar como XML, pero cada exportación tendrá su propia cosa con ajuste de línea nuevo y demás, por lo que si reescribió una oración, el párrafo completo probablemente se mostrará como " algo cambió aquí" blob, que no es muy útil. Escribo toda mi fuente en un editor de texto que no intentará "embellecer" o formatear/exportar por mí, y puedo fusionar y revisar las diferencias fácilmente.
+1 para Mercurial, también los nuevos .docxarchivos de Word son XML, por lo que podría ser posible fusionarlos (no sé, uso LaTeX).
También uso Mercurial, es un software increíblemente asombroso. Empujo mi repositorio a una copia en Google Drive. También uso libreoffice y guardo en el formato .fodt, que es un archivo XML plano, lo que permite que mercurial haga correctamente la magia diferencial en él. Antes de eso estaba usando HTML. En cuanto a Docx, a menos que se haya cambiado algo recientemente, todavía son archivos comprimidos y no se pueden diferenciar felizmente.

Yo uso git . Hay una serie de GUI populares para ello, aunque tiendo a preferir la línea de comandos.

Mi servicio de copia de seguridad de preferencia es Rsync.net porque son confiables, tienen un precio razonable, lo apoyan (y lo alientan) a cifrar sus cosas y no les dan las claves, y realmente se preocupan por la privacidad de sus usuarios.

Git funciona excelentemente con Latex. En particular, el git diff --word-diffcomando le permite ver los cambios palabra por palabra. Recientemente usé Git+Latex para una presentación grupal y funcionó muy bien.

Uso el historial de revisiones de Google Docs.

revisión histórica

Los verdaderos sistemas de control de versiones como SVN y GIT son demasiado complejos, requieren conocimiento de la línea de comandos y están realmente diseñados para equipos colaborativos que trabajan en docenas de archivos diferentes, todo al mismo tiempo. Son una exageración para los escritores.

Uso Microsoft Word para escribir y cada vez que guardo Google Cloud Connect sube mi revisión a Google Docs. Obtengo copias de seguridad e historial de revisión de forma gratuita.

Si no usa Microsoft Word, pruebe SyncDocs . SyncDocs funciona como Dropbox, creando una carpeta que se sincroniza automáticamente con Google Docs. También guarda el historial de revisión.

Apenas son "demasiado complejos" obtienen algo como TortoiseHG/SVN/Git para brindarle una buena GUI. Para mercurial, cree un repositorio, confirme cada vez que guarde. no es realmente difícil en lo básico, y para algo más complejo, solo una búsqueda rápida en Google puede darle el comando que necesita para decir volver a una revisión anterior.
Aunque estoy de acuerdo con @EvilSpork en que Git funciona bien cuando lo usa simplemente, cuando las cosas salen mal (como tener archivos en conflicto) o cuando intenta colaborar con otra persona (y desea fusionar su solicitud de extracción), obtiene arrojado al infierno de la línea de comandos con bastante rapidez.

Flashbake es una interfaz de línea de comandos para un repositorio de git que tenía cierto potencial, pero creo que nunca llegó a despegar. Funciona en segundo plano y está diseñado para registrar datos ambientales, así como el clima en su ubicación física y la música que se reproduce en su computadora en el momento en que está escribiendo.

Es una creación de Cory Doctorow y no pretendía realmente ser un control de fuente, sino más bien una herramienta de archivo que los futuros historiadores podrían explorar, ya que los diarios personales y similares ya no son frecuentes.

Es una idea intrigante y sería genial si algo como esto se convirtiera en el estándar para los escritores en activo.

Fossil porque es liviano y fácil de respaldar simplemente copiando el archivo de la base de datos a una nueva ubicación.

Por supuesto, cualquier DVCS se puede copiar fácilmente. Y, en general, evitaría llamar a un VCS con un rastreador de problemas incorporado, wiki y un servidor web "ligero".
El ejecutable Fossil es un único archivo de 5mb que tiene todo lo necesario. Git tiene ~650 MB y se acerca a los 6000 archivos y 725 carpetas. (Números para Windows). Un depósito de fósiles es también un solo archivo. Git son miles, aunque en una sola carpeta fácil de copiar. Las características de la interfaz de usuario web de Fossil son completamente opcionales, pero tan fáciles de usar como GitHub si las desea. Esto califica como peso ligero en todas las dimensiones que puedo pensar en relación con las otras opciones en el campo.

Utilizo Celtx como mi principal herramienta de escritura y me suscribí a su Celtx Studio, que brinda control de versiones.

No es exactamente genial porque tienes que estar conectado a Internet todo el tiempo (no hay "Trabajar localmente y sincronizar cuando vuelvas a tener Internet") y es lento si agregas toneladas de gráficos/medios al archivo (porque cada vez que guardar el archivo completo se carga), pero está ahí.

Para algunas otras cosas, estoy usando git y un repositorio privado de GitHub porque trabajo como desarrollador de software y solo uso las herramientas que conozco y de alguna manera las hago encajar.

Soy nuevo en Celtx y una de las primeras cosas que hice fue tratar de poner un archivo de proyecto de Celtx bajo control de versión SVN. Estaba siendo tratado como un archivo binario que no era lo que esperaba. ¿Sabe si es posible tener un control granular de versiones sin tener que pagar una tarifa de suscripción a la nube?
@JW Realmente no. En un momento comencé a escribir mi propio sistema de control de versiones para Celtx, pero mientras tanto cambié a Scrivener y no lo he seguido.
Estoy mirando el sitio web de Scrivener ahora. Parecen tener un buen ethos. Gracias.

Prueba Scrivener para esto. Puede hacer "instantáneas" de un trabajo antes de realizar cambios drásticos. Además, Scrivener hace copias de seguridad por usted y las guarda automáticamente mientras escribe. No tener que usar múltiples programas para el control de versiones es agradable.

¿Puede agregar un enlace aquí, para que las personas puedan acceder a este software rápidamente?
@tylerharms Scrivener está disponible enliteratureandlatte.com
Tengo configurado Scrivener para mantener todas las copias de seguridad, que no es la configuración predeterminada.

Soy escritor, no programador, y comencé exactamente con esta misma pregunta. Empecé a usar Git y funciona perfectamente, aunque definitivamente me llevó algo de tiempo aprenderlo. Es genial porque Git es popular y hay GitHub y mucha gente está interesada en él.

Dicho esto, entiendo que Mercurial es igual de bueno o mejor, y mucho más fácil de usar con comandos más "cuerdos" e intuitivos.

Todavía estoy usando Git ya que es con lo que comencé, pero pasé demasiado tiempo aprendiendo y no es mejor que Mercurial. Si tuviera que hacerlo de nuevo, usaría Mercurial con SourceTree de Atlassian para ver gráficamente y verificar los cambios en los borradores a medida que los hice.

Es genial escribir un poco y luego hacer que SourceTree le muestre todas las adiciones y ediciones que realizó. Luego, verificar los cambios le da una sensación de logro porque puede ver el progreso que hizo ese día. :-)

Sabes que Bitbucket de Atlassian también funciona con git, ¿no? eso es lo que uso
¡Sí! Ahí es donde tengo mis repositorios de origen.

Utilizo Apache Subversion (solo para Android y desarrollo web, no exactamente para escribir contenido), ya sea autohospedado o en Beanstalk del cliente o cuentas privadas de GitHub.

Solo quería recomendar a mis clientes favoritos; ambos son comerciales, pero asequibles y definitivamente valen la pena: Syntevo SmartSVN y SmartGit .

SmartGit admite SVN parcialmente, pero solo un conjunto básico de comandos. La desventaja podría ser que solo se pueden comparar archivos de texto sin formato 1:1; en cualquier otro archivo, uno puede ver que algo ha cambiado.

Con un archivo por capítulo y algún guión que combina los capítulos de texto sin formato en un solo archivo, con encabezados de capítulo y números de página, tal vez.

No recomendaría TortoiseSVN, pero eso probablemente sea solo algo personal: cualquier cliente de VCS que tenga una implementación completa del conjunto de comandos debería hacer el trabajo.

Uso Subversion y Git como una especie de interfaz para Subversion.

Usar el control de versiones me ha salvado el culo varias veces. Definitivamente lo recomiendo

Una ventaja es que se vuelve fácil trabajar en un escrito en varias computadoras diferentes.

Hago todo lo que escribo en archivos de texto en lugar de Word, Pages, Scrivener o algo por el estilo. El control de versiones y el texto sin formato van de la mano. Sin embargo, puede usar formatos que no sean de texto con control de versiones si lo prefiere.

Yo uso Mercurial (ver la respuesta de Daniel para un enlace). Hago mi (pequeño, atm) escritura en archivos de texto puro (con mi confiable Emacs ;-D), pero en un formato "novedoso" diseñado por mí mismo (y mal diseñado, por el momento). De esa manera, tengo texto puro casi sin formato (al menos actualmente) (lo cual se recomienda, según este mismo sitio ;-)) pero puedo generar TeX (u otros formatos, más adelante) cuando sea necesario.

Si estoy escribiendo algo en formato de texto sin formato, como LaTeX o HTML, generalmente uso el control de versiones. Por ejemplo, cuando escribí mi tesis de pregrado (en LaTeX) usé Mercurial.

Para cosas escritas en un procesador de textos, generalmente no lo hago. Mantengo copias de seguridad (usando el software Time Machine de Apple) para poder retroceder en el tiempo a cualquier día. Y si empiezo otro borrador o una revisión importante, haré una copia manualmente. Para revisiones menores, usaré la funcionalidad de seguimiento de cambios de mi software de procesamiento de texto.

He usado CVS, SVN, mercurial y git. Todo funciona bien (bueno, tal vez no CVS), pero Git tiene una característica que es particularmente útil: el concepto de un área de preparación.

Si está trabajando en algo más largo, digamos una novela, el área de preparación es realmente agradable. Supongamos que realiza algunas ediciones en el capítulo 1, otras en el capítulo 7. Con otros controles de versión, si confirma sus cambios, todo es una confirmación. Eso podría estar bien para algunas personas, pero realmente me gusta la capacidad de comprometerme por separado. De esa forma, si quiero mantener mis cambios en el capítulo 1, pero revertir los cambios en el capítulo 7, es fácil hacerlo.

Aquí hay una descripción general rápida: http://whygitisbetterthanx.com/#the-staging-area

Mercurial tiene Mercurial Queues , que se puede utilizar como área de preparación, entre otras cosas.

Por lo general, lo que hago es guardar varias copias con números incrementales, pero encuentro que este no es un buen método porque termino con una carpeta llena de documentos de Word del mismo archivo + cambios. No es realmente fácil de organizar debido a eso.

En un sistema de control de versiones, puede realizar cosas como diffs para obtener básicamente una vista que muestre los cambios de una versión a otra. También puede crear ramas, fusionar ramas, etc. Dependiendo de dónde aloje y qué use, también podría tener comentarios en ciertas líneas (hasta el punto de las discusiones). Por lo general, esto está fuera del ámbito del control de versión de origen y, por lo general, en la vista web.

Las ventajas van más allá del uso por un solo usuario. Por ejemplo, podría tener una copia de lectura de prueba y hacer una diferencia para verificar qué cambió la persona. De manera similar, podría coordinar el trabajo con otras personas responsables de ciertos aspectos de cómo se supone que debe verse su escritura, corrección de pruebas, edición, etc., y todo esto sin pasar por un proceso iterativo de "pásame la última copia" que consume mucho tiempo.

Personalmente, recomiendo algo así gitpor la sencilla razón de que, a diferencia de Subversion, puede trabajar de forma completamente local en cualquier lugar y en cualquier momento, es decir. si no está demasiado claro, sin Internet, ni ningún servidor.

No hace falta decir que a la gente le suele resultar difícil explicarlo (y los que he tenido que explicar eran nada menos que técnicos). Esto es particularmente cierto cuando se trata de las herramientas de línea de comandos, pero las GUI no son mejores. Un problema clave es la carga de basura, sugiero que si va a usar esto como un sistema colaborativo, se asegure de establecer algunas reglas muy claras, ya que ver archivos basura innecesarios en los repositorios es exasperante.

Tengo un par de cosas que he hecho o probado a lo largo de los años:

1.) Al comenzar mis ediciones o escribir para el día, hago una copia de la palabra doc usando la fecha en el nombre del archivo. De esa manera, tengo una copia nueva cada día y puedo volver a una versión anterior con bastante facilidad día a día. Esto suena como algo de lo que estás tratando de escapar, pero funciona para mí.

2.) Al lanzar en formato de libro electrónico, versiono cada "lanzamiento" con una versión similar a un producto de software (soy ingeniero de software de día). Un "lanzamiento" consta de la palabra doc, un pdf (para mi sitio web, Scribd, etc.), un ePub (para B&N), la portada png (para CreateSpace) y la versión de CreateSpace. Todos estos archivos van a una carpeta separada. Las copias de seguridad se realizan en Carbonite.

Hago un seguimiento del lanzamiento en una hoja de cálculo, principalmente para saber qué minoristas tienen qué versión. Puede volverse muy confuso, muy rápido si no mantiene algún tipo de registro.

He considerado la idea de usar SVN (control de fuente), pero aún no he tenido que llegar a ese extremo. Sin embargo, no recomendaría SVN para principiantes. Es fácil enredarse con él; se perderán horas tratando de hacerlo bien.

Microsoft Word (y OpenOffice.org, al menos) admite el control de versiones; no recuerdo exactamente cómo usarlo, pero en versiones anteriores, al menos, parece que solo selecciona la opción 'Versiones' en el menú de archivo.

Puede comparar diferentes versiones con esencialmente una gran diferencia, dejar comentarios, etc.

MS Word admite el control de versiones, pero tiene una interfaz de usuario un poco torpe y todas las versiones se guardan directamente en un solo archivo .doc, por lo que su historia corta puede tener el tamaño de megabytes.
Y se estrella, perdiendo todo su trabajo. No es un evento feliz.
Bueno, ¡es por eso que ahorras a menudo! Dicho esto, ahora escribo todo en vim y lo rastreo con git. Pero eso no es necesariamente lo que le pasa a todo el mundo. :)

Escribo Python de día y escribo de noche, y personalmente encuentro que el control de versiones me distrae más que me ayuda. Me distraigo tanto jugueteando con él que termino olvidándome del libro en sí.

Encuentro el esquema más fácil para simplemente incrementar los capítulos. Un hipotético capítulo 1 se convierte en el capítulo 1.2 con una nueva versión editada, por ejemplo. Se autoorganizan alfabéticamente en la pila de carpetas de esa manera, y hacen que sea fácil y claro desplazarse a cualquiera. Cuando esa vista, y por lo tanto la vista de lo que estoy haciendo, se vuelve confusa para mi ojo, sé que la historia también lo es; y encontrar que un práctico neumónico.

Las configuraciones de VC bien hechas son invariablemente más complejas que eso e, irónicamente, por su naturaleza ocultarán el desorden creciente de la historia en expansión de un autor al compartimentar y organizar todo convenientemente para él. Dependencia peligrosa para un escritor novel, creo.

Pero claro, ¡a cada uno lo suyo! ¡Buena suerte!

Como soy programador lo hago, ya que estoy acostumbrado y el control de versiones está hecho para rastrear las revisiones de texto, por lo que está funcionando bastante bien con los escritos.

Profesionales que utilizan el control de versiones:

  • la copia de seguridad es más fácil, ya que una vez creé una copia de seguridad para mis repositorios, simplemente pongo todo lo que quiero mantener bajo control de versión
  • Puedo ver y volver a versiones anteriores de mi escritura
  • Tengo un registro de mi actividad de escritura y puedo usarlo para planificar
  • Puedo probar diferentes caminos para recorrer la historia y cuál funciona mejor

Yo personalmente uso bazar, pero qué control de versión moderno usas es más una cuestión de gusto.

Relacionado (en "por qué"): escritores.stackexchange.com/q/10440/1993

Si está utilizando una Mac, una cosa que muchas personas extrañan es que hay un control de versiones del sistema incorporado que está disponible en cualquier aplicación que lo admita.

Por ejemplo, si está escribiendo en Pages, puede ir a Archivo ▶ Revertir ▶ Examinar todas las versiones para volver atrás en el tiempo a las versiones anteriores de su documento. Funciona de forma similar a como funciona Time Machine para todos los archivos. Y está disponible en muchas aplicaciones integradas y de terceros diferentes.

Por supuesto, también puede usar Time Machine para navegar hacia atrás en el tiempo dentro de una carpeta que contiene sus capítulos u otros documentos de escritura.

Pero definitivamente es un trabajo explorar aprender a escribir en Markdown (lo que lleva una hora) y luego eso básicamente te convierte en un programador, y puedes usar herramientas de programación. Escribo en BBEdit porque me da la sensación de una larga página vacía y lo que escribo allí se puede convertir fácilmente a cualquier tipo de formato para su publicación. BBEdit tiene soporte para Git y Subversion.

Uso The Novel Factory (como era de esperar) que me permite tener pestañas para hasta tres borradores, además de 'bloqueo'. Ocasionalmente, también guardo una nueva versión de todo el archivo de mi novela en caso de que quiera volver a algo anterior.

Creo que si tiene demasiadas copias, luego de un tiempo, la sobrecarga de buscar algo se vuelve demasiado alta. Y probablemente, cuando finalmente regreses y lo encuentres, ¡descubrirás que en realidad no fue el trabajo del genio que recuerdas!

Tal vez solo soy yo.