Está en la página 1de 25

Distributed

Version
Control
System

https://git-scm.com/ e-mail: BrunoPalacios@Embels.com


Que es git ?
• Es un software de control de versiones, diseñado por Linus
Torvalds, pensando en la eficiencia y la confiabilidad del
mantenimiento de versiones de aplicaciones cuando éstas tienen
un gran número de archivos de código fuente.

• Su propósito es llevar registro de los cambios en archivos y


coordinar el trabajo que varias personas realizan sobre archivos
compartidos.
Version Control System
Central VCS
Distributed
VCS
Repositorio
Los 4 estados
Los archivos pueden estar en 4 estados
principales

Committed: Archivo guardado en base de


datos.

Modified: Archivo modificado pero no


guardado en la base.

Staged: marcado para ingresar al próximo


commit.

Untracked: Archivo sin tracking de git.


Ejemplo:
• Tenemos un servidor como
repositorio central (i.e. GitHub)

• 2 desarrolladores trabajando de
forma concurrente sobre
elmismo proyecto Proyecto
Ramas
Como usar Git?
•Command Line: > git init, git commit, …
•WEB: https://github.com ,
https://bitbucket.org
•GUI:
• GitHub Desktop: https://desktop.github.com/
• SourceTree: https://www.atlassian.com/software/sourcetree
• TortoiseGIT https://tortoisegit.org/
• IDE: Eclipse based (Workbench, atollic, etc).
Iniciando con GIT
Instalamos GIT de:
git-scm.com/downloads
(Google: Download git)

Registrarse en
www.github.com
Crear repositorio
Damos acceso al repo a nuestros colegas
Crear clave TOKEN de acceso

LINK TUTORIAL GITHUB: https://docs.github.com/en/authentication/keeping-your-account-and-data-


secure/creating-a-personal-access-token#creating-a-personal-access-token-classic
Comandos básicos GIT
Desde la linea de commandos, posicionado en la carpeta del Proyecto: CMD

• git init -> Inicializo el repositorio Local.


• git status -> Veo el estado de los archivos en mi repositorio (Untracked, Staged, modified, etc).
• git remote add origin URL -> Vinculamos repo local al servidor.
• git add “Archivo” -> Agrego el Archivo a la Staged Area (area escenificada).
• git commit –m “Mensaje” -> Hacemos un commit (tomamos una foto) de lo que esta en staged
area y colocamos un “mensaje” relevante para ese commit.
• git log -> Miro el historial de commits del repositorio en la rama actual.
• git push origin Rama -> Subimos los cambios al servidor.
• git pull origin master -> Bajamos los cambios desde el servidor a nuestro pc.
• git branch -> Veo cual es la rama actual.
• git checkout –b NuevaRama -> Creo una nueva rama.
• git checkout Rama -> Me cambio de rama actual a “Rama”.
• git merge Rama -> Fusiono la “Rama” con la que estoy posicionado.
Comencemos
Primero que nada y por única vez debemos decirle a git cual es
nuestro usuario y contraseña de nuestro usuario en github mediante
la ejecución de los comandos adecuados.

Abrimos una ventana de comandos en la carpeta donde estará


nuestro repositorio (debe estar vacía) y realizamos el siguiente
comando:

git config --global user.name "username"


git config --global user.email “email”
git config --global user.password "password“ (old)
Iniciando el Repo

Al realizar el comando:
git init
Iniciamos el repositorio, donde se crea
un archivo .git que está oculto.
Vinculando el Repo local al servidor
En la web de bitbucket damos click en “Clone” y copiamos solo la URL de nuestro
repositorio.

En la ventana de comandos
escribiremos:

git remote add origin URL

Donde URL será lo que


copiemos de nuestro
usuario de Github.
A trabajar!
• Ya estoy en condiciones de agregar archivos.

• Tras realizar git status vemos que aparece


“Test git.txt” en rojo bajo el título
“Untracked files”. En este caso el archivo NO
está en staged area y no será incluido en el
commit.

• Luego de realizar el comando git add “Test


git.txt” y agregarlo al staged área vemos que
si hacemos git status nuevamente el archivo
aparecerá en verde en la zona de “Changes Cuando tenemos muchos archivos podemos hacer:
to be commited”. De aquí en mas el archivo
está siendo seguido por git para ser incluido git add . -> Con este comando TODO lo que está en untracked
en el próximo commit. pasara a estar en staged área en verde.
Esto se repite luego de cada commit, los
git add –u -> Con este comando agregamos a Staged área todo
archivos siempre inician en Untracked files al ser
lo que ya estaba en tracking y fue modificado (pasa entre
modificados.
commits)
Ignorando Archivos
Qué pasa si tenemos
archivos que no nos interesa
guardar en el repositorio?

Git da la posibilidad de
ignorar los archivos que figuran en
un archivo especial llamado
.gitignore

Utilizando la herramienta echo


vamos agregando los nombres de
los archivos que nos interesa
ignorar, sin agregar ningún carácter
como comillas ni nada.
Echo NombreArchivo >> .gitignore
Guardando cambios (commit)
A continuación hacemos un
commit para que los cambio se guarden en
nuestro repositorio local. Podemos realizar
todos los commits que deseemos pero
debe haber algún archivo en staged area
para procesar el comando:
git commit –m “Mensaje”

Luego de realizado el commit


podemos verlo guardado con:
git log

Si hacemos un git status veremos:

On branch master
nothing to commit, working tree clean
Subiendo commits al Repo
Finalmente haremos un git push para subir los cambios al repositorio y que todos lo
puedan ver: git push origin master donde “master” es la rama sobre la que estamos trabajando.
Verificando lo realizado
A partir de aquí los colaboradores
deberán realizar el comando:
git pull origin Rama (master)
para bajar los cambios a sus
repositorios locales.

Cual es el problema aquí? Quien


realice el git push NO DEBE tener
los archivos modificados. Pues git
avisara del conflicto. Si queremos
actualizar un proyecto que no
tenemos commiteado o en un
estado “limpio” arrojará error.
Creando una nueva rama

https://diego.com.es/ramas-y-uniones-en-git
¿Dudas?
CodigoFacilito: Curso Git - Introducción a Git:

https://www.youtube.com/watch?v=zH3I1DZNovk&t

También podría gustarte