
Ciencia Social Abierta
Sesión 4: Control de versiones: Git & Github
Kevin Carrasco
Sociología FACSO UChile
Primer Semestre 2026
Herramientas para la reproducibilidad
Herramientas para la reproducibilidad
Carpeta de proyecto autocontenida y transferible
Escritura abierta:
Repositorio con datos y código de análisis abierto
Control de versiones
La escritura en texto simple (como Markdown o Quarto) permite implementar un sistema de control de versiones, además de herramientas de respaldo, colaboración y comunicación

Linus Torvalds, 1991 (21 años)
Crea sistema operativo libre (Linux) y lo abre a la colaboración. Postea:
Git es un sistema de control de versiones

Su propósito original era ayudar a grupos de desarrolladores a trabajar de forma colaborativa en grandes proyectos de software.
Git gestiona la evolución de un conjunto de archivos —llamado repositorio— de una manera lógica y altamente estructurada.
Similar a la función “Control de cambios” de Microsoft Word, pero mucho más avanzada.

Es una especie de memoria local que registra:
Mantiene la información de todos los cambios en la historia de la carpeta
Se puede sincronizar con un repositorio remoto (ej. Github)
GitHub es una plataforma de desarrollo de código orientada a la colaboración

Espacio para tus proyectos basados en Git en internet.
Similar a Dropbox, pero con mejor control de versiones.
El servidor remoto actúa como un canal de distribución o centro de intercambio para tu proyecto vinculado a Git.
Permite que otras personas vean tu trabajo, se sincronicen contigo e incluso realicen cambios.

Incluso para proyectos personales, es buena idea guardar tu trabajo en una ubicación remota para tener un respaldo.
Si has subido tu trabajo a GitHub, es fácil obtener una copia nueva, corregir los cambios que solo existen localmente y seguir trabajando.

Actualmente, Git / Github posee más de 100 millones de repositorios.
Mayor fuente de código en el mundo
Ha transitado desde el mundo de desarrollo de software hacia distintos ámbitos de trabajo colaborativo y abierto
Entorno de trabajo que favorece la ciencia abierta
En 2018 Microsoft compró GitHub por la cantidad de 7500 millones de dólares. Al inicio, el cambio de propietario generó preocupaciones y la salida de algunos proyectos de este sitio; sin embargo, no fueron representativos.

Debemos instalar Git y vincular Git con VSCode. Esto es un proceso que solo se realiza una vez o una vez por computador.
Un repositorio puede ser público o privado (todos los visibles son públicos y clonable)
Cualquier repositorio remoto de Github que es clonado localmente quedará vinculado al repositorio remoto
Si se clona un repositorio de otra cuenta no se puede sincronizar luego con cambios locales (a menos que ese repositorio lo incluya como colaborador)
Git no es un registro de versiones de archivos específicos, sino de una carpeta completa
Guarda “fotos” de momentos específicos de la carpeta, y esta foto se saca mediante un commit
El commit es el procedimiento fundamental del control de versiones
Git no registra cualquier cambio que se “guarda”, sino los que se “comprometen” (commit).
En un commit
Según conveniencia
Sugerencias:
que sea un momento que requiera registro (momento de foto)
no para cambios menores
no esperar muchos cambios distintos que puedan hacer perder el sentido del commit
no esperar a tener todo el proyecto listo para hacer un commit
| Término | Definición |
|---|---|
| Commit | Acción de registro de los cambios aplicados en un repositorio. |
| Push | Acción de subir los cambios locales a un repositorio remoto. |
| Pull | Acción de descargar los cambios de un repositorio remoto al local. |
| Branch | Una versión paralela del código contenido en el repositorio, pero que no afecta a la rama principal. |
| Clonar | Para descargar una copia completa de los datos de un repositorio de GitHub.com, incluidas todas las versiones de cada archivo y carpeta. |
| Fork | Un nuevo repositorio que comparte la configuración de visibilidad y código con el repositorio «ascendente» original. |
| Merge | Para aplicar los cambios de una rama y en otra. |
| Pull request | Una solicitud para combinar los cambios de una branch en otra. |
| Remote | Un repositorio almacenado en GitHub, no en el equipo. |
GitHub es una plataforma de desarrollo de código orientada a la colaboración
Github permite que varias personas trabajen en el mismo proyecto
Para ello, quien administra el repositorio puede agregar colaboradores (que tengan cuenta en Github), quienes pueden hacer cambios y sincronizarlos con el repositorio remoto
Para ello ir a Settings > Collaboratos and teams
Una branch es una versión paralela de los archivos contenidos en el repositorio, pero que no afecta a la rama principal.
Permite el trabajo paralelo en distintos archivos.
Lo mejor es trabajar coordinadamente en tareas separadas (en momentos o archivos diferentes)
Mediante pull request, donde una persona a cargo decide qué modificaciones aceptar y cuando.
Visibilidad: Si alguien necesita ver tu trabajo o si quieres que pruebe tu código, puede acceder fácilmente a él desde GitHub.
Colaboración: Para analizar datos en conjunto. Usar GitHub permite que cada persona trabaje de forma independiente y luego envía su trabajo a revisión al resto del equipo.
Seguimiento: Si te interesa mucho el proyecto de otra persona, como un paquete de R, puedes seguir su desarrollo en GitHub.
Ingeniero chileno aportó código a helicóptero en Marte y recibió una insignia

Ciencia Social Abierta
Kevin Carrasco
Sociología FACSO UChile
Primer Semestre 2026
