Control Automatizado de Versiones


  • El control de versiones es como un ‘deshacer’ sin límites.
  • El control de versiones permite que mucha gente trabaje en lo mismo en paralelo.

Configurando Git


  • Use git config para configurar un nombre de usuario, email, editor, y otras preferencias.

Creando un repositorio


  • git init inicializa un repositorio.

Rastreando Cambios


  • git status muestra el estatus de un repositorio.
  • Los archivos pueden ser almacenados en un directorio de trabajo del proyecto (el cual ven los usuarios), el staging area (donde el siguiente commit está siendo construido) y el repositorio local (donde los commits son registrados permanentemente).
  • git add pone archivos en el staging area.
  • git commit guarda el contenido del staging area como un nuevo commit en el repositorio local.
  • Siempre escribe un mensaje de registro cuando hagas un commit con cambios.

Explorando el "History"


  • git diff despliega diferencias entre commits.
  • git checkout recupera versiones anteriores de archivos.

Ignorando cosas


  • El archivo .gitignore le dice a Git qué archivos ignorar.

Repositorios remotos en GitHub


  • Un repositorio Git local puede ser conectado a uno o más repositorios remotos.
  • Usa el protocolo HTTPS para conectarte a un repositorio remoto hasta que hayas aprendido como hacerlo con SSH.
  • git push copia los cambios desde el repositorio local a un repositorio remoto.
  • git pull copia los cambios desde un repositorio remoto a un repositorio local.

Trabajos en colaboración


  • git clone copia un repositorio remoto para crear un repositorio local llamado origin configurado automáticamente.

Conflictos


  • Los conflictos ocurren cuando dos o más personas cambian el mismo archivo(s) al mism/o tiempo.
  • El sistema de control de versiones no permite a las personas sobreescribir ciegamente los cambios del otro, pero resalta los conflictos para poder resolverlos.

La ciencia abierta


  • Trabajo científico abierto es más útil y puede ser citado más que si no lo es.

Licencia


  • Las personas que usan la licencia GPL en su software tienen que asegurarse de que toda la estructura esté bajo ésta licencia; muchas otras licencias no requieren esto.
  • La familia de licencias Creative Commons permite a las personas adaptarse a varios requerimientos y restricciones de atribución, la creación de trabajo derivado, compartir el trabajo, y comercialización.
  • Personas sin conocimientos de leyes no deberían tratar de escribir nuevas licencias desde cero.

Ejemplo de Referencia o cita


  • Agrega un archivo CITATION al repositorio y explica cómo quieres que tu trabajo sea citado.

Hospedaje


  • Los proyectos pueden alojarse en servidores de la universidad, en dominios personales o públicas.
  • Las reglas con respecto a la propiedad intelectual y el almacenamiento de información confidencial se aplican sin importar dónde se alojan el código y los datos.

Usando Git desde RStudio


  • Crear un proyecto en RStudio