Está en la página 1de 30

Git y Github

Unidad Profesional Interdisciplinaria de Ingeniería Campus


Tlaxcala
Daniel Sánchez Ruiz
¿Por qué ocupar un sistema de control de versiones?
Escenario 1:

● Estamos trabajando en un programa, ya


tenemos una primera versión
● Cambias ‘solo una cosa’
● Tu programa deja de funcionar
● Deshaces el cambio
● Tu programa sigue sin funcionar

¿Les ha pasado?
¿Por qué ocupar un sistema de control de versiones?
Escenario 2 (Programación colaborativa):

● Una persona modifica una parte del


programa (Funciona)
● Otra persona modifica otra parte del
programa (Funciona)
● Junta los códigos (Deja de funcionar)
● ¿Les ha pasado?¿Tienen noción dónde está el
error en el programa modificado?
Sistemas de Control de Versiones
Un sistema de control de versiones nos ayuda a
evitar estos problemas, para ello:

● Mantiene múltiples versiones (viejas y


nuevas) de todo (no sólo el código)
● Solicita comentarios respecto de cada
cambio
● Permite hacer un check in y un check out
para saber qué archivos están siendo
ocupados
● Muestra las diferencias entre todas las
versiones
Sistemas de Control de Versiones
Es un sistema que realiza un seguimiento de los
cambios en un archivo o conjunto de archivos y, en
caso de cualquier problema, permite retroceder en
el historial, comparar los cambios a lo largo del
tiempo y volver fácilmente a un estado de
funcionamiento de su código fuente.

SVN, Mercurial y el popularísimo Git son sistemas


de control de versiones populares para los
desarrolladores. Todos estos son gratuitos y de
código abierto.
Git y Github
Git es un sistema distribuido de control de Github es un repositorio web basado en git que
versiones gratuito y de código libre funge como servicio de almacenamiento

Está diseñado para administrar desde proyectos Nos brinda todo lo que da git e incluso tiene sus
pequeños hasta proyectos grandes debido a su propias funcionalidades (gist, pages, etc.)
velocidad y eficiencia
¿Cómo instalamos Git y Github?
Hay distribuciones de git para sistemas Linux y Github nos pide crear un usuario en su plataforma,
POSIX en el sitio web Git SCM por lo cual ha que acceder al sitio y realizar esto

Git para toda plataforma: Como segundo paso (opcional) pueden bajar su
aplicación para Windows
http://git-scm.com
https://desktop.github.com/
Como primer paso
Comandos básicos del shell
LS CD

El comando ls le permite enumerar el contenido de El comando cd significa Cambiar directorio y le


una carpeta/directorio. Todo lo que necesita hacer permite navegar a través del sistema de archivos de
para ejecutar el comando es abrir una terminal y su computadora o servidor.
ejecutar lo siguiente:
Lo que tendría que hacer es ejecutar el comando cd
$ ls seguido del directorio al que quiero acceder:

$ cd directorio
Comandos básicos del shell
PWD MKDIR

El comando pwd significa Imprimir directorio de El comando mkdir significa crear directorio y se
trabajo, lo que esencialmente significa que cuando utiliza para crear uno o más directorios nuevos.
ejecuta el comando, le mostrará el directorio actual
en el que se encuentra. Todo lo que necesita hacer para crear un nuevo
directorio usando este comando es abrir una
$ pwd terminal, cd en la ubicación deseada y ejecutar lo
siguiente:

$ mkdir directorio
Comandos básicos del shell
RM TOUCH

El comando rm significa eliminar y le permite El comando touch se utiliza para actualizar las
eliminar archivos y carpetas. Digamos que quisiera marcas de tiempo en los archivos. Una
eliminar el archivo README.md, lo que tendría característica útil del comando táctil es que creará
que hacer es ejecutar el siguiente comando: un archivo vacío. Esto es útil si desea crear un
archivo en su directorio que no existe actualmente.
$ rm README.md
$ touch README.md
Configuración de git
Después de instalar Git hay que hacer una Podemos establecer toda esta información a través
configuración inicial: de git config y sus parámetros que recibe

● Brindar información personal: nombre y $ git config –global user.name “daniel”


correo electrónico
● El editor de Git $ git config –global user.mail daniel@correo.com
● El nombre de la rama default
$ git config –global init.defaultBranch main

Cada vez que crea un nuevo repositorio en su


máquina local, se inicializa con un nombre de rama
específico que puede ser diferente de la rama
predeterminada en GitHub.
Directorio .git
Siempre que se inicializa un proyecto Git o se Dentro de la carpeta de un proyecto git podemos
clona uno de GitHub, se creará un directorio hacer lo siguiente:
(oculto) .git donde todos los commits serán
registrados y también un archivo de config, donde $ ls .git
la configuración específica del proyecto se
guardará.
Introducción GitHub
Antes de empezar a ver los comandos de Git Esto es esencialmente necesario, ya que actuaría
básicos, veamos de forma introductoria GitHub. como una central donde almacenaría sus proyectos
y a todos sus compañeros de equipo u otras
Git es esencialmente la herramienta que se usa personas que trabajan en el mismo proyecto.
para rastrear los cambios de código, y GitHub, por
otro lado, es un sitio web donde puedes enviar tus Antes que nada vayamos a la página para crear
proyectos locales. nuestra cuenta y usuario

https://github.com/join
Introducción GitHub
Una vez que te hayas registrado puedes ir a la Creando un nuevo repositorio
página https://github.com/YOUR_USER_NAME y
podrás ver tu perfil público Un repositorio puede considerarse como un
proyecto. Contendría todos los archivos de su
aplicación o sitio web que está creando.

Para crear un nuevo repositorio en GitHub, debe


hacer clic en el signo + en la esquina superior
derecha o hacer clic en el botón verde NUEVO en
la parte superior izquierda donde se mencionan los
repositorios y luego hacer clic en el botón Nuevo
repositorio.
Introducción GitHub
Después de eso, accederá a una página donde
podrá especificar la información para su nuevo
repositorio, como:

El nombre del proyecto: aquí, asegúrese de utilizar


algo descriptivo.

Alguna descripción general sobre el proyecto y de


qué se trata Elige si quieres que el repositorio sea
Público o Privado
Introducción GitHub
Repositorios públicos versus privados Añade colaboradores a tus proyectos

Dependiendo del proyecto y de si es o no de código Los colaboradores son las personas que trabajan
abierto, se puede configurar el repositorio para que activamente en el proyecto
sea público o privado
Selecciona un repositorio de GitHub y navega
Aunque el repositorio sea público sólo quien lo hasta la pestaña de configuración, ahí hay una
creó será el administrador del proyecto y elegirá opción Administrar acceso, allí pueden agregar los
quién puede participar colaboradores para el proyecto

Mientras que un repositorio privado solo será


accesible para usted y aquellos a quienes haya
invitado
Introducción Github
El archivo README.md Existen algunas herramientas que nos permiten
generar de forma automática estos archivos
El archivo README.md es una parte esencial de
cada proyecto. La extensión .md significa https://rahuldkjain.github.io/gh-profile-readme-gen
Markdown erator/

El archivo README.md es una introducción al Pueden checar más y algunos tips en:
repositorio. Es beneficioso porque ahí pueden ver
de qué trata un proyecto https://www.freecodecamp.org/news/how-to-write-
a-good-readme-file/
Introducción Github
Estrellas GitHub Fork

Las estrellas nos permiten principalmente dos Cuando se hace el fork de un repositorio, se crea
cosas, pues además de valorar un proyecto (lo cual una copia del mismo en tu cuenta, de tal forma que
puede ayudar a incrementar su popularidad o ya es posible hacer modificaciones sobre el código
relevancia en búsquedas), también los agregá a una sin que el creador nos tenga que autorizar
lista en tu perfil
Lo que sí es importante es que hay que revisar las
licencias que todo repositorio tenga para evitar
meterse en problemas legales
Inicializando un proyecto Git
Si vamos a iniciar un nuevo proyecto o si tenemos Supongamos que queremos crear un proyecto
un proyecto existente que nos gustaría agregar a desde cero, entonces podríamos hacer lo siguiente:
Git y luego enviarlo a GitHub, debemos inicializar
un nuevo proyecto de Git con el comando git init

$ mkdir proyecto_nuevo

$ cd proyecto_nuevo

$ git init
Estatus Git
Siempre que realicemos cambios en un proyecto $ git status
Git, primero tenemos que verificar qué ha
cambiado antes de realizar una confirmación o Como es un proyecto nuevo podemos agregar un
antes de enviar sus cambios a GitHub, por ejemplo. archivo README.md de la siguiente forma

Para verificar el estado actual de un proyecto, $ touch README.md


podemos usar el comando git status
Una vez que se agrega un archivo podemos volver a
checar el estado de nuestro proyecto y ver que se
va a detectar el nuevo archivo

$ git status
Git Add
De forma predeterminada, cuando crea un nuevo La sintaxis es la siguiente:
archivo dentro de su proyecto Git, Git no lo
monitorea. $ git add NOMBRE_ARCHIVO

Entonces, para decirle a git que debería comenzar a Si volvemos a ejecutar el comando de git status
monitorear el archivo, debe usar el comando git podremos ver una salida distinta
add.
Si en lugar de agregar un sólo archivo queremos
que sean todos los archivos lo podemos hacer de la
siguiente forma:

$ git add .
Git Commit
Una vez que haya agregado/preparado sus archivos, La sintaxis para confirmar los cambios es la
el siguiente paso es confirmar los cambios. siguiente:

Ya habíamos visto previamente que si ejecutamos $ git commit -m “Mensaje”


git status ya tenemos cambios listos para ser
confirmados
Git Diff
Digamos que modificamos nuestro archivo $ git diff
README.md, ya vimos que git status nos dice que
hubo cambios en algún archivo, pero no nos dice Al ejecutar el comando en el directorio de trabajo
cuáles son cambios como tal. se van a visualizar los cambios por archivo.

Si lo queremos checar, git diff es el comando que Si queremos confirmar los cambios tenemos que
nos permite visualizar los cambios realizados. realizar lo previamente aprendido:

● Tal vez checar el status


● Agregar (Add) los cambios
● Confirmar (Commit) los cambios
Git Log
Si queremos revisar todos los commits, los $ git log
podemos listar con el comando git log
Si queremos ver la diferencia entre la versión actual
Todas las entradas van a estar listadas de la más (HEAD) y una versión previa, sólo tenemos que
reciente a la más vieja ocupar el id de la versión previa

$ git diff akshk08308


Gitignore
Mientras trabaja en un repositorio Git, a menudo Por ejemplo, si tiene un archivo de configuración
tendrá archivos y directorios que no desea que almacena todas las credenciales de su base de
confirmar, por lo que no estarán disponibles para datos y otra información confidencial, nunca debe
otras personas que utilicen el repositorio. agregarlo a Git y enviarlo a GitHub, ya que otras
personas podrán obtener esa información
En algunos casos, es posible que no desees enviar confidencial.
algunos de tus archivos a Git por razones de
seguridad. $ touch .gitignore

Dentro de .gitignore ponemos los archivos que no


queramos considerar
Git Push
Finalmente, una vez que hayamos realizado todos Antes de poder enviar a su repositorio remoto de
nuestros cambios, los preparamos con git add . y GitHub, primero deben crear su repositorio
confirmamos los cambios con el comando git remoto a través de GitHub.
commit, se deben enviar los cambios confirmados
desde su repositorio local a su repositorio remoto Una vez que tengamos listo el repositorio remoto
de GitHub. de GitHub, podemos agregarlo a tu proyecto local
con el siguiente comando:
Esto garantiza que el repositorio remoto esté
actualizado con su repositorio local. $ git remote add origin
https://github.com/usuario/repositorio.git
Git Push
Verificamos que nuestro repositorio remoto esté Después de que son empujados (push) los cambios
seteado de forma correcta con al repositorio remoto, podemos actualizar el
navegador en Github y constatar que
$ git remote -v efectivamente los cambios ya fueron enviados

Y para que todos los cambios confirmados los Incluso podemos observar que también se genera
mandemos al repositorio remoto ocupamos el el historial de los commits de forma análoga a lo
siguiente comando que hace git log pero ahora a través de la interfaz
web
$ git push -u origin main
Git Pull
Cuando trabajamos en un proyecto con varias Ya sabemos que podemos ocupar el comando git
personas, lo más probable es que el código base push para enviar las últimas confirmaciones, así
cambie con mucha frecuencia. que para hacer lo contrario y extraer las últimas
confirmaciones de GitHub a un proyecto local,
Por lo tanto, necesitamos tener una forma de necesitamos usar el comando git pull.
obtener los últimos cambios desde el repositorio de
GitHub a su máquina local. $ git pull origin main
Ejercicio (Tarea)
Practicar todo lo que acabamos de ver el día de hoy, para ello:

● Instalen git en su equipo y creen una cuenta en Github


● Configuren sus variables globales, las de usuario (nombre y correo) y la de la rama principal
● Creen un proyecto en su equipo, ocupen los comandos de shell para practicar
● Inicialicen el proyecto con git para ir checando los cambios de los archivos
● Creen tres archivos, uno de README y dos archivos de código fuente en blanco
● Creen un archivo para ignorar archivos y agreguen uno de los archivos de código fuente
● Agreguen todos los archivos con git y chequen el estado
● Hagan el commit de todos los archivos
● Creen el repositorio remoto y de forma local defínanlo
● Manden todos los cambios al repositorio remoto
● Editen el archivo README de forma local y el archivo de código fuente en github
● Confirmen los cambios locales y vean la diferencia con la versión previa
● Sincronicen ambos repositorios

De todo esto generen un documento donde me pongan capturas de pantalla y una breve explicación de lo realizado, además me
ponen en la plataforma la liga de su repositorio remoto para poder checarla

También podría gustarte