1 Followers
26 Following
frogbanker81

frogbanker81

SPOILER ALERT!

Introducción al control de versiones con GitHub Desktop

Contenidos


Esta lección fue escrita teniendo presente una versión antigua de Github Desktop para OS X. Desde su publicación, Github ha lanzado una nueva versión de Github Desktop con cambios significativos en la interfaz. El tutorial solo cubre la la antigua versión para OS X, que ha pasado a llamarse “Github Desktop Classic” y que.


Objetivos de la lección


Con esta lección aprenderás el funcionamiento básico de los sistemas de control de versiones, entenderás por qué son útiles y te familiarizarás con GitHub Desktop, un control de versiones de documentos en formato de texto plano. Al terminar la lección, serás capaz de entender:


  • qué es un control de versiones y por qué puede ser útil
  • las diferencias entre Git y GitHub
  • cómo usar un control de versiones con la interfaz gráfica ‘GitHub Desktop’
  • qué otros recursos pueden asistirte a implementar un control de versiones para investigar.

Programa necesario


Actualmente, GitHub Desktop Classic está libre únicamente para Mac. Si empleas Linux seguramente estarás familiarizado con la línea de comandos y serás capaz de emplear la versión de línea de comandos de Git.


¿Qué es un control de versiones y por qué debería emplearlo?


Antes de ponerse manos a la obra, conviene entender qué es un control de versiones y por qué puede ser útil para tu investigación. En términos generales, un control de versiones consiste en tomar instantáneas de tus ficheros a lo largo del proceso de creación. La mayoría de personas, en verdad, trabajan con algún sistema de control de versiones para gestionar sus ficheros. Frecuentemente, el control tiene sitio guardando distintas versiones de un mismo archivo. Por poner un ejemplo, no es raro toparnos ante un directorio que contiene los siguientes archivos:


Esta forma de nombrar los archivos puede ser más o bien menos sistemática. Si añadimos datas, puede ser un poco más fácil seguir los cambios:


Aunque este método sea un tanto más claro, sigue habiendo problemas. En primer lugar, este método no registra o describe qué cambios se han producido entre uno y otro archivo guardado. Pueden ser pequeñas correcciones de erratas, o tratarse de la reescritura de pasajes enteros o incluso de una modificación mayor, por poner un ejemplo, de la estructura del documento. Además si deseas revertir alguno de estos cambios, tendrás que descubrir cuándo se hizo el cambio y deshacerlo.


Con un control de versiones se persigue solventar este género de inconvenientes mediante la puesta en marcha de un registro sistemático de cambios en los ficheros. A rasgos generales, puede aseverarse que el control de versiones realiza instantáneas de los ficheros a lo largo del tiempo. Estas instantáneas documentan el momento en que fueron tomadas pero también qué cambios tuvieron sitio entre cada una de ellas, lo que permite recobrar una versión más vieja de tu fichero. A partir de aquí se abre un sinfín de posibilidades merced al control de versiones.


¿Por qué un control de versiones para documentos?


A medida que en nuestras investigaciones usamos herramientas digitales y almacenamiento en formato digital, se vuelve relevante reflexionar sobre cómo optimizar la gestión de nuestros datos. Más aún, el control de versiones puede ser imprescindible si tenemos intención de colaborar con otros estudiosos. Si bien el control de versiones fue diseñado en sus orígenes para tratar archivos de código, pensamos que la gestión de documentos también se beneficiaría. La lección que planteamos no cubre todas y cada una las ventajas del control de versiones mas al concluirla podrás hacer las siguientes tareas:


  • rastrear el desarrollo y los cambios de tus documentos
  • registrar los cambios que has hecho de una forma que puedas comprender posteriormente
  • experimentar con versiones diferentes de un documento al mismo tiempo que conservas la más antigua
  • fusionar dos versiones de un documento y regentar los conflictos existentes entre distintas versiones
  • revertir cambios y volver atrás gracias al historial de versiones precedentes de tu documento

En específico, el control de versiones es útil para facilitar la colaboración. De hecho, una de las razones que explican el origen del control de cambios es que permitera a múltiples personas trabajar al mismo tiempo en un proyecto de considerables dimensiones y utilizar Git para administrar las fuentes del núcleo Linux. Emplear un control de versiones favorece la colaboración debido a su flexibilidad. Por servirnos de un ejemplo, dos personas pueden trabajar en un mismo documento al tiempo y ‘fusionar’ los cambios. Si existe un ‘conflicto’ entre las 2 versiones, el sistema de control permitiría al usuario ver el conflicto y decidir cómo fusionar las dos versiones dando lugar a una ‘tercera’ versión. De esta forma, conservarías la ‘historia’ del documento, esto es, las versiones precedentes y, en consecuencia, podrías revertir el proceso eligiendo una versión más antigua.


No es preciso, sin embargo, poner en marcha un control de versiones para todos tus documentos. En algunas ocasiones resulta muy útil; por ejemplo, para escribir artículos, libros o bien tesis doctorales.


La implementación del control de versiones que proponemos en esta lección está concebida para que los documentos sean públicos. Sin embargo, puedes usar un control de versión y sostener tus documentos ocultos de forma permanente o bien hasta el momento en que decidas publicarlos en línea.


Diferencias entre Git y GitHub


Aunque en ocasiones se emplean como sinónimos, Git y GitHub no son lo mismo. Git es un sistema específico diseñado para controlar versiones en un entorno Linux; fue desarrollado por Linus Torvalds con la meta primordial de administrar código fuente. Como es lógico, existen otrospero su uso no está tan difundido. Git puede referirse tanto a una forma de controlar versiones como al programa utilizado para llevar a cabo dicha labor.


En cambio, GitHub es una compañía que aloja repositorios Git (más detalles abajo) y que da un programa específico para utilizar Git. Entre las modalidades de empleo, resalta el programa ‘GitHub Desktop’, sobre el que trata este tutorial. Actualmente, si tomamos en cuenta el, es posible afirmar que GitHub es la plataforma más popular para alojar en abierto el código de proyectos digitales.


Pese a que GitHub está diseñado originalmente para publicar código fuente, ciertos proyectos, como
The Programming Historian en español, lo emplean para controlar las versiones y para administrar el flujo de trabajo de sus publicaciones, libros de texto, etcétera Así que familiarizarte con GitHub no solamente te permitirá controlar las versiones de tu documento sino más bien contribuir a los proyectos que emplean GitHub. En esta lección nuestro objetivo es ofrecer una introducción al funcionamiento básico de los objetivos y principios del control de versiones de un archivo de texto plano. La lección no es pormenorizada mas da un punto de partida a fin de que puedas seguir aprendiendo por tu cuenta.


¿Por qué no utilizar Dropbox o bien Google Drive?


Dropbox, Google Drive y otros servicios ofrecen alguna forma de controlar las versiones en sus sistemas. A veces esto es suficiente para tus necesidades. Sin embargo, existen algunas ventajas por las que vale la pena utilizar un control de versiones como Git:


  • Mayor cobertura de lenguaje: Git admite tanto texto como lenguajes de programación. A medida que la investigación incluya métodos informáticos y herramientas digitales, se vuelve necesario disponer de una plataforma que gestione publicaciones tradicionales (artículos, libros, etcétera) mas también nuevos tipos de publicaciones como código, conjunto de datos, etc.
  • Más control: un sistema de control de versiones te dará mayor poder para administrar los cambios de tus documentos.
  • Historial más útil: si empleas un sistema de control como Git, podrás generar un historial de tu documento. A través de este historial tú y tus cooperadores podréis navegar fácilmente por las distintas etapas del documento.

Algunos proyectos académicos que utilizan control de versiones


Utilizar un control de versiones se ha afianzado en algunas disciplinas científicas, aunque su adopción está lejos de ser universal. En las humanidades y en las ciencias sociales, el empleo de Git es mucho menos frecuente. Los proyectos que listamos a continuación muestran algunas de las posibilidades del uso de Git en un entorno académico:


Nuevos proyectos surgen de manera constante y muchas de las herramientas que empleas en las humanidades digitales se hospedan en GitHub; por este motivo, GitHub puede ser útil para emplear con mayor sencillez alguna de estas herramientas.


Cómo empezar


GitHub Desktop, la aplicación de escritorio de GitHub, te permitirá comenzar a usar un control de versiones sin inconvenientes. GitHub Desktop es, en verdad, una Interfaz Gráfica de Usuario (GUI, por sus siglas en inglés) diseñada para facilitar el uso de Git. Las interfaces gráficas de usuario dejan al usuario interaccionar con el programa a través de un dispositivo visual que sustituye la línea de comandos. Si bien emplear la línea de comandos ofrece muchas ventajas a largo plazo, si utilizas GitHub Desktop reducirás la curva de aprendizaje; encontrarás más recursos sobre la línea de comando al final de la lección.


Una breve nota sobre la terminología


Uno de los aspectos más complejos del uso de GitHub es la terminología. El nombre de algunos de los comandos se entiende fácilmente por el hecho de que son evidentes, mas otros no tanto. En este tutorial intentaremos explicar escuetamente los términos poco comunes. Si te pierdes, puedes preguntar elde GitHub. Sin embargo, pensamos que es mejor ir aprendiendo los términos sobre la marcha, a medida que se utiliza el programa, en vez de procurar entender toda la terminología ya antes de empezar.


Regístrate con una cuenta en GitHub


Puesto que vamos a usar GitHub, necesitarás regístrate con una cuenta ensi no lo has hecho ya. Parae, GitHub ofrece repositorios privados de forma gratuita. Este tipo de repositorios no son necesarios mas quizá esta opción te cautive si deseas mantener tu trabajo en privado.


Instala GitHub Desktop


Te recomendamos que prosigas el procedimiento explicado en la. Tras descargar GitHub Desktop Classic y también instalarlo, ya podemos comenzar a usar el programa con un archivo de texto plano.


Control de versiones y texto plano


Los sistemas de control de versiones como Git funcionan mejor con ficheros de texto plano. Este género de ficheros poseen un marcado muy sencillo; por el contrario, los archivos Word (u otros generados con procesadores similares) producen código que no es inteligible para los humanos. Además, cualquier archivo guardado como ‘.txt’ puede abrirse sin problemas con Word, LibreOffice o Notepad. La portabilidad es la primordial ventaja del texto plano pues estos ficheros pueden abrirse y ejecutarse en la mayoría de ordenadores.


Pese a los beneficios evidentes de redactar nuestros documentos en texto plano, también debemos señalar algunas restricciones. Los archivos de texto plano en sí no permiten marcar ciertas palabras en
cursivao bien con
negrita; tampoco es posible incluir encabezado o convocatorias. Para realizar esto necesitaremos una sintaxis adicional: ‘markdown’.


Con Markdown vamos a poder, puesto que, dar formato a nuestro texto plano. Seguramente hayas empleado HTML o LaTex en el pasado. Estos lenguajes de marcado también expresan información sobre el estilo y la estructura del documento. No obstante, el propósito de Markdown es disminuir al mínimo el marcado, lo que significa que es más fácil centrarse en el contenido, en la escritura, sin preocuparse en cómo marcar el texto -de ahí el nombre de ‘markdown’.


Esta lección no cubre la sintaxis Markdown por razones de espacio, pero es útil explorar su funcionamiento cuando te sientas cómodo con el control de versiones. Es conveniente señalar, por otro lado, que GitHub integra una versión propia de la sintaxis Markdown. Si añades la sintaxis Markdown a tus documentos, tu control de versiones gestionado con GitHub Desktop visualizará de manera correcta tu documento en la página web. La mejor forma de aprender Markdown es con un poco de práctica. Puedes empezar con nuestraescrita por Sarah Simpkin, o con la lecciónescrita por Dennis Tenen y Grant Wythoff.


Editores de texto


Para escribir un documento de texto plano precisamos un editor. Hay muchos editores libres, ciertos gratuitos, otros de pago. Ciertos son fáciles de utilizar mientras que otros tienen una curva de aprendizaje y un potencial que sobrepasa las funciones de un editor de texto. A largo plazo, un editor avanzado como Vim o Emacs puede ahorrarte tiempo mas por el momento puedes comenzar con un editor más simple. Por ejemplo,es un buen editor desarrollado por GitHub que resalta la sintaxis Markdown y, además, se integra con la plataforma GitHub. Es gratis y su código es abierto; además, incluye unde instrucciones muy pormenorizado.


Si no quieres instalar un programa nuevo, puedes emplear uno de los editores que incluidos en tu computador como TextEdit para Mac. Si decides proseguir aprendiendo Markdown en el futuro, te recomendamos emplear un editor de texto que destaque la sintaxis Markdown, entre otras funcionalidades.


Crear un documento


Podemos iniciar creando un documento muy sencillo.


Añade este texto (o bien algo semejante) en documento de texto plano nuevo. ¿Listo? A continuación, guarda el archivo con la extensión ‘.md’. Esta extensión es la más popular para los archivos markdown si bien en ocasiones es posible emplear otras. En ocasiones el editor de texto guarda los ficheros como Rich Text Format (RTF) por defecto, así que asegúrate de que el archivo se guarda en formato de texto plano un directorio nuevo. Si ocurre esto, puedes mudarlo en la pestaña preferencias o bien opciones de tu editor. empresa desarrollo aplicaciones web , identifica tu fichero y tu directorio con un nombre semánticamente claro. Si bien la extensión utilizada sea’.md’, hay que asegurarse de que el fichero es de ‘texto plano’. Por norma general, la codificación del documento no será ningún inconveniente una vez te acostumbres a usar el editor de texto.


Para usar de manera eficaz el control de versiones de Git, es esencial organizar tu proyecto en directorios. Git rastrea el contenido de cada directorio creando un
repositorioa partir de cada uno de ellos. Un repositorio se compone de todos los ficheros que están siendo
controladospor Git. Lo mejor es crear un directorio para cada proyecto en el que trabajas; por poner un ejemplo, un repositorio para un artículo que estés escribiendo, otro para la composición de tu libro, uno más para el código en desarrollo, etc. Estos directorios son como las carpetitas normales y corrientes que tienes en tu ordenador; la única particularidad es que los ficheros han de ser añadidos de manera expresa al repositorio a fin de que sean controlados mediante Git.


Añadir un documento


Hay múltiples formas de
añadirun archivo a fin de que GitHub Desktop lo controle. Por servirnos de un ejemplo, podemos arrastrar un directorio con el fichero a GitHub Desktop. Si haces esto, el programa te preguntará si quieres crear un repositorio para este directorio. Otra forma consiste en hacer clic sobre el icono ‘más’ para abrir el buscador y escoger la carpetita que queremos añadir.


Añade un repositorio


Una vez hemos añadido nuestra carpeta podremos verla en la lista de repositorios situada en la columna izquierda.


Añade un repositorio


Si hacemos click sobre el repositorio que terminamos de añadir, vamos a poder ver los archivos contenidos. agencia de inbound marketing ú, además, podremos elegir qué archivos deseamos rastrear puesto que a veces trabajamos en proyectos con archivos que no lo requieren. Al lado, a la derecha, se visualizan los documentos.


Si escogemos mostrar las carpetitas ocultas en el directorio que acabamos de añadir a GitHub, podremos ver que contiene una carpetita auxiliar llamada ‘.git’. En esta carpetita quedan registrados los cambios producidos en el control de versiones y también si los cambios son modificaciones efectuadas en ficheros ya existentes o si hemos creado ficheros nuevos.


A continuación, volvamos a nuestros documentos y añadamos algo nuevo.


Guarda los cambios realizados y vuelve a GitHub Desktop. Verás que que en el texto aparecen la nueva línea que has añadido; esto quiere decir que GitHub es capaz de percibir los cambios efectuados en el fichero pero aún no han sido registrados en una ‘instantánea’ en tu repositorio.


Para hacer esto debes
anotarlos cambios.


Anotar cambios


Al
anotar(‘commit’) un cambio, comunicas a Git que quieres registrar las modificaciones efectuadas. Aunque
anotarpuede parecer afín a guardar un archivo, el propósito es diferente. De manera frecuente guardamos diferentes versiones de un documento; ahora bien, guardar un documento, realmente, quiere decir que puedes cerrar el archivo y volver a él más tarde y que su estado será exactamente el mismo, esto es, no se habrán producido perdidas.
Anotar, en cambio, implica tomar una instantánea de un archivo en un instante determinado y documentar información sobre los cambios efectuados.


Primera anotación


Para anotar un cambio debes dar un resumen de los cambios y, de forma opcional, incluir un mensaje. Es importante que pienses de manera cuidadosa cuándo debes anotar los cambios. El control de versiones solo es útil si anotas los cambios de manera eficaz. A veces tendemos a anotar los cambios solo cuando hemos terminado de trabajar sobre un documento. No obstante, esto no refleja los cambios esenciales realizados a lo largo de todo el proceso.


Cuando anotes el cambio verás que aparece el mensaje ‘anotar al master’. Esto desea decir que te refieres a la rama ‘master’. En un repositorio Git es posible tener varias ramas. Estas ramas son, en esencia, lugares distintos en los que puedes trabajar. De manera frecuente se usan para probar nuevas ideas o trabajar en un aspecto concreto. De entrada, no es necesario utilizar crear ramas en GitHub pero quizás desees aprender de cara al futuro, sobre todo si quieres colaborar con otras personas en un mismo proyecto.


Una forma de entender las anotaciones es pensar en el ‘historial’ de tu documento. Cada anotación registra un desarrollo o cambio hecho en el documento alojada en el repositorio; el historial del documento, por consiguiente, puede ser recuperada consultando todas las anotaciones grabadas. Para que el historial sea útil más tarde, para ti o para un cooperador, es importante que los cambios queden registrados en instantes esenciales del proceso. Vale la pena que las anotaciones sean modulares y que tengas sentido por sí mismas. En otras palabras, las anotaciones y los mensajes deberían comprenderse sin tener que ver los cambios precedes o siguientes.


Si pensamos cómo se emplea el control de versiones con código también puede ser útil. Cuando una nueva función o bien en el momento en que un fallo ha sido reparado, es importante que estos cambios se hagan de manera apartada. Si una anotación incluye cambios que afectan a distintos aspectos del código, se hace más difícil aislar los inconvenientes que aparezcan posteriormente. También se hace más difícil eliminar un cambio particularmente que ha causado inconvenientes si este ha sido anotado junto con otros.


Aunque hay diferencias entre el control de versiones de código y de textos, las anotaciones deberían ser modulares. Por ejemplo, siempre y en toda circunstancia es útil anotar cambios que afectan a la estructura del documento por un lado y anotar mejoras en el estilo o bien la ortografía por otra parte. Así, si más tarde decides mudar la estructura, podrás conservar las otras correcciones.


Describir anotaciones


Es esencial que tus anotaciones y los mensajes asociados que las describen tengan sentido y sean específicos. Escribir buenas descripciones de las anotaciones requiere reflexión. A veces, los mensajes que para ti son claros en el momento de la anotación se vuelven difíciles de entender en el futuro. Si vas a emplear el control de versiones con otras personas es importante que tus colaboradores puedan comprenderte. El control de versiones para gestionar cambios en documentos funciona mejor en el momento en que nos esforzamos un tanto en pensar cómo usamos el programa. Por consiguiente, cuando se realiza un trabajo colaborativo es esencial aclarar estas cuestiones y compartir una misma visión para usar el control de cambios de forma efectiva.


Una forma de enfrentarse a este problema es procurar seguir un ‘estilo de anotaciones’. Por ejemplo, te invitamos a seguir la influyentecuando efectúes anotaciones. La sugerencia de Tim Pope, parcialmente, la interfaz de GitHub Desktop para anotar cambios y describirlos pero entender el formato te ayudará a poner en práctica su estrategia. El siguiente mensaje es una adaptación de la propuesta de Tim Pope, que se centra en la anotación de texto (en vez de código):


La interfaz de GitHub Desktop proporciona cierta ayuda para escribir mensajes de esta manera mas es esencial que seas siendo consciente del formato sugerido. No siempre y en todo momento será necesario escribir un resumen detallado mas sí es fundamental que tu descripción sea clara y que los cambios efectuados, así como las anotaciones, sean modulares.


Para ejemplarizar esto, a continuación, tienes una anotación descrita en el contexto de una obra escrita:


Los mensajes descriptivos que acompañan la edición de una página de Wikipedia o una Wiki son un paralelo a las anotaciones y pueden servirte de modelo para que escribas mensajes fáciles de entender. Cuando escribas estos mensajes debes explicar los cambios que has hecho y por qué los has hecho a fin de que otras personas puedan entender tu razonamiento. Si tienes en cuenta un destinatario externo (un colaborador y no solo tú), te será más fácil redactar anotaciones claras y con sentido.


Cómo crear un buen repositorio


Las ventajas de emplear un control de versiones se basan en buena medida en su empleo efectivo. Es esencial meditar cuándo se hacen las anotaciones y cómo identificar correctamente esos cambios cuando se describen con mensajes. Si te esfuerzas en hacer tus anotaciones y mensajes ‘modulares’, te será más fácil ‘moverte’ a través del historial de tu repositorio. Un buen repositorio debería permitir entender los cambios realizados; no solo tú debería entenderlos sino también las personas con las que cooperes.


Existen algunas diferencias entre la administración de un repositorio que contiene primordialmente código y otro que contiene texto. En los dos casos, no obstante, una organización clara y lógica es indispensable. Si bien no emplees un control de versiones o no pretendas hacer público tus datos, te recomendamos ser siempre organizado con los materiales de tu investigación. Para una introducción a la gestión de los datos de investigación, puedes consultar la lección.


Cómo publicar tu repositorio


Hasta ahora solo hemos registrado nuestros cambios de forma local. Si bien podríamos estar satisfechos con guardarlos en nuestro PC (es importante preservar copias), seguramente queremos subir los ficheros a nuestro repositorio de GitHub para hacerlos públicos o bien, simplemente, para tener una copia que no esté alojada en nuestro ordenador. El proceso con GitHub Desktop es muy sencillo y rápido. En GitHub Desktop ‘publicas’ repositorios; esto es, los
envías(‘push’) desde tu PC a la web de GitHub. Durante este proceso también creas un repositorio
remoto.


Cómo publicar el repositorio


Una vez hayas ‘publicado’ tu repositorio, será perceptible en tu perfil de GitHub. Es posible crear un repositorio privado en GitHub pero solo si te registras comoo, o bien pagando una. Si no te has registrado como estudiante o estudioso, solo podrás crear un repositorio privado cuando pagues por una suscripción. De ahí que, a menos que desees abonar, puedes ignorar la sección ‘Información sobre la compra’. En esta sección, será suficiente con publicar un repositorio abierto. Para acceder a tu repositorio en línea, en el menú puedes hacer click sobre ‘Repository’ (‘Repositorio’) y después elegir ‘View on GitHub’ (es decir, ‘Ver en GitHub’). Al hacer esto, se abrirá una ventana en tu navegador con tu repositorio en línea.


Vista del menú


A continuación, deberías ver tu documento en tu repositorio web.


La versión en línea de tu repositorio


Una vez que tu documento esté en línea, puedes seguir realizando cambios en tu documento localmente. Mas tendrás que
sincronizartus cambios locales para reflejarlos en el repositorio publicado en GitHub. Esta plataforma guarda los cambios en tu ordenador y remotamente (en sus servidores). De ahí que es importante sostener ambos lugares acompasados. Con GitHub Desktop este proceso se simplifica al paso que en la línea de comandos deberíamos ejecutar
sync(‘sincronizar’) y después
pull(‘recibir’). Verás el botón ‘sync’ en el margen superior derecho de tu GitHub Desktop. Al pulsarlo, te aseguras de que tu entorno local (tu PC) y tu ambiente recóndito (el servidor de GitHub) contienen la misma información. Si deseas trabajar en tu documento ya antes de publicarlo, también puedes escoger anotar los cambios sin sincronizar. Esto te permitirá arrancar el control de versiones en local en una fase temprana.


Cómo hacer cambios remotamente


También es posible realizar cambios en tu repositorio a través de la interfaz web de GitHub. Para esto, haz click sobre el nombre del archivo y accederás a una nueva página que muestra tu documento.


Vista de tu documento en línea


(Nota: puede parecer extraño que todo lo que has escrito aparezca en una línea, cuando tu fichero local tenía dos líneas. Esto se debe a que en Markdown, los párrafos deben marcarse dejando una línea en blanco; así puesto que, 2 líneas sucesivas son interpretadas como un solo párrafo. Si hubiéramos usado la extensión ‘.txt’, tendríamos un salto de línea aquí, pero con la extensión ‘.md’ estamos señalando a GitHub que visualice el documento según las reglas de Markdown. Esta es otra razón por la que utilizar un editor capaz para Markdown puede serte útil para visualizar el formato).


La interfaz web ofrece otras alternativas. Por ejemplo, puedes visualizar los cambios en el historial, puedes abrir el documento en GitHub Desktop, o bien puedes suprimirlo. Encontrarás más opciones junto a la opción ‘code’ (‘código’). Estas opciones no son esenciales ahora mismo, al comienzo, pero quizás la uses en el futuro. A continuación, intentaremos editar un documento en la interfaz web y sincronizar los cambios con nuestro repositorio local.


Así, puesto que, haz click sobre la opción ‘editar’ representada con un lápiz.


El botón ‘Editar’


Tras esto deberías poder editar el archivo y añadir más texto.


El modo edición


Una vez hayas realizado cambios en tu fichero, verás que puedes anotar los cambios en la parte inferior de la ventana.


Cómo anotar un cambio en línea


Una vez hayas anotado los cambios, serán guardados en tu repositorio recóndito. Para recibirlos en tu ordenador deberás acompasarlos. Para ello, haz click en el botón ‘sync’ de tu GitHub Desktop.


El botón de sincronización


¡Ya tenemos nuestros cambios efectuados remotamente en nuestro PC!


El documento con los cambios remotos


Verás que el texto modificado aparece marcado en verde y en colorado. El color rojo indica que se ha producido una eliminación al tiempo que el verde indica que se ha añadido algo. Esta forma de visualizar los cambios puede ser útil ya antes de anotar pues te permitirá encontrarlos y cerciorarte de que los quieres registrar. En la parte izquierda verás el historial de los cambios efectuados. En este momento el historial es muy breve mas a medida que trabajes crecerá en tamaño. Ver los cambios efectuados de esta manera, en cada una de las fases de tu proyecto, te será de enorme utilidad.


Gestionar conflictos


Los ‘conflictos’ emergen cuando procuras fusionar o bien acompasar dos versiones de un documento con cambios que son incompatibles entre sí. Si tienes cuidado cuando anotas y sincronizas los cambios realizados en tu ambiente local, en tu computador, entonces es bastante improbable de que te halles con esta clase de problemas; de todas maneras, resolverlos es una labor sencilla.


A menudo, los conflictos surgen cuando realizas un cambio en remoto (en la página web GitHub) y después haces otro cambio local sin haber sincronizado anteriormente. Si los cambios tienen sitio en diferentes partes del documento, no pasa nada, se pueden integrar o fusionar (‘merge’). Ahora bien, algunos cambios pueden entrar en conflicto cuando tienen lugar en la misma línea del documento.


Por ejemplo, supongamos que añadimos algo en nuestro repositorio remoto (en la web de GitHub).


Un cambio recóndito en el documento


A continuación, anotas el cambio en la web y, a continuación, hacemos otro cambio local.


Un cambio local en el documento


Si anotamos el cambio en local y acompasamos, vamos a recibir un mensaje de alerta señalando que se ha producido un conflicto.


GitHub nos alerta de un enfrentamiento de sincronización


No te preocupes, no es un problema gordo. Simplemente hay que administrar el enfrentamiento. GitHub Desktop te ofrece la posibilidad de abrir el fichero y acceder al lugar en donde se encuentra el problema.


Las opciones que nos da GitHub para abrir el documento


Si escogemos abrir el fichero con un editor externo, el documento se visualizará el editor de texto que tengas por defecto para archivos escritos en Markdown. Si no tienes ninguno por defecto, puedes haz click en ‘show in finder’ (‘mostrar en el buscador’) para acceder a la carpeta que contiene el fichero. A partir de aquí puedes abrirlo con el editor que prefieras.


Si miras el fichero con atención, verás que Git ha marcado dónde se encuentra el enfrentamiento.


Marcas usadas para señalar los conflictos


Verás que el conflicto está envuelto con las marcas
<<<<<<<y
>>>>>>>. Los 2 bloques que están en enfrentamiento se distinguen gracias a una línea como esta
=======line. Hay diferentes formas de administrar este tipo de enfrentamiento. Por servirnos de un ejemplo, podrías eliminar la versión que ya no quieres y deshacerte de las marcas; o bien podrías eliminar todo el bloque y descartar ambas versiones. Una vez hayas ‘resuelto’ el enfrentamiento, debes anotar el cambio y sincronizar como siempre. Cuando vayas a anotar el cambio, verás que el GitHub Desktop especifica que la anotación consiste en una fusión de un enfrentamiento. Así, en el futuro, podrás regresar sobre ello y repasar cómo lo resolviste.


Esta forma de resolver enfrentamientos puede parecer más compleja de lo que es, mas, indudablemente, es muy útil pues te da mucho control. En una plataforma como Dropbox esto ocasionaría la duplicación de un archivo. A pesar de que esta solución sea mejor que perder los cambios, deberías ver qué fichero contiene la versión que deseas y decidir cómo solucionar el conflicto. contenido web , si tienes cuidado al sincronizar los cambios evitarás muchos conflictos. Si cooperas con otras personas, el riesgo de crear enfrentamientos es mucho mayor; por eso, es importante saber cómo resolverlos ya antes de comenzar a cooperar con GitHub.


Control de versiones y flujo de trabajo con texto plano


Hasta el instante hemos puesto en marcha un control de versiones con un documento muy básico. Si aprendes más acerca de Markdown y la escritura en texto plano, podrás utilizar el control de versiones de muchas formas y te será muy útil para llevar a cabo tu investigación. Supervisar las versiones de un documento Markdown te permitirá profundizar en esta sintaxis; para ello, te recomendamos preguntar la lecciónescrita por Dennis Tenen y Grant Wythoff; esta lección te ayudará a comprender cómo puedes utilizar el texto plano para escribir con Pandoc y Markdown. Pandoc es muy útil para transformar tus ficheros de texto plano escritos en Markdown a otros formatos como HTML, PDF o Word. Si combinas Markdown, Pandoc y el control de versiones, podrás implementar un sistema muy potente y sostenible para escribir tus artículos y trabajos académicos.


Asimismo, el flujo de trabajo presentado en esta lección también puede convertirse en el fundamento para crear webs estáticas alojadas en GitHub. Una vez te sientas cómodo usando GitHub Desktop, puedes proseguir con la lección escrita por Amanda Visconti,.


Más recursos


GitHub Desktop es una forma fácil de aprender a supervisar versiones con GitHub. En función de tus necesidades, GitHub será suficiente. Ahora bien, si ya conoces el funcionamiento de la línea de comandos, emplear Git puede tener más ventajas. Los controles de versiones como Git ofrecen muchas más opciones; ciertos tienen un empleo concreto mientras que otros se pueden emplear de manera más generalizable. Como complemento a esta lección, te sugerimos una serie de recursos que pueden asistirte a prosperar tu comprensión del control de versiones.


  • GitHub ofrece ayuda a través de susy.
  • Elexplica la terminología más frecuente en Git.
  • : contiene tutoriales más avanzados (pero fáciles de comprender) de Git. Ponen el acento en las diferencias entre Git y otros controles de versiones; esto puede no ser relevante para ti pero te ayudará a comprender el funcionamiento de Git de forma más detallada.
  • : un libro únicamente sobre Git. Comienza con el funcionamiento básico y después pasa a tratar asuntos más avanzados de Git.
  • ParaeGitHub ofrece repositorios privados sin pagar por una suscripción. Estos repositorios pueden ser útiles para bocetos o bien notas que no queremos publicar. Nota: no es muy recomendable guardar contenido delicado aun en un repositorio privado en GitHub.
  • tiene varias entradas sobre proyectos que usan GitHub en el contexto académico.
  • reflexioina sobre el uso de GitHub para la escritura colaborativa.
  • La lecciónte permitirá aprender más sobre la línea de comandos, muy útil para emplear GitHub.