2. ¿Qué es git?
Git es un software para control de versiones diseñado por Linus Torvalds,
pensando en la eficiencia y la confiabilidad del mantenimiento de versiones
de aplicaciones cuando estas tienen un gran número de archivos de código
fuente.
Web oficial del proyecto: http://git-scm.com/
Fuente: http://es.wikipedia.org/
3. ¿Para que sirve?
- Permite llevar un control de que cambios se han hecho y cuando.
- Permite deshacer cambios realizados al proyecto (devolver versiones).
- Gestiona el trabajo colaborativos de grupos numerosos.
@DevFOSS
4. Instalación
# aptitude install git-core
# yum install git-core
# pacman -S git-core
Debian y derivados
Fedora, CentOS y derivados
ArchLinux
Para más información visite: http://git-scm.com/download/linux
@DevFOSS
5. Configurando todo
~$ git config --global user.name "Hernán Aguilera"
~$ git config --global user.email "me@email.com"
Agregando nuestros datos
@DevFOSS
6. ¿Cómo empiezo?
- Quiero modificar el codigo de alguien mas.
- Tengo un proyecto ya creado.
- Comenzar desde cero.
Fuente: http://huntingbears.com.ve/
7. A partir de código de terceros
git://github.com/usuario/repositorio.git → Solo lectura
git@github.com:usuario/repositorio.git
https://github.com/usuario/repositorio.git
Formatos de url
~$ git clone git://github.com/usuario/repositorio.git
Clonando repositorio
@DevFOSS
9. Comenzando desde cero
~$ git init
1.- Iniciando el repositororio
~$ git add .
~$ git commit -a -m "Primer commit"
3.- Agrega los archivos y/o directorios
4.- Enviando primer commit
2.- Escribe código
[. . . ]
@DevFOSS
10. Comandos útiles
~$ git status
Consultar el status de nuestro repositorio
~$ git diff
Visualizando cambios entre revisiones y ramas
Consultar el log de nuetra rama
~$ git log
@DevFOSS
11. Regresando cambios
~$ git reset HEAD [ARCHIVO]
Elminar archivos del commit
~$ git checkout [COMMIT] [ARCHIVO]
~$ git reset --hard
Traer archivo desde una revisión especifica
Revertir los cambios hasta la ultima revisión
Regresar a una revisión especifica
~$ git revert [COMMIT]
Esta acción no puede deshacerse
@DevFOSS
12. Trabajando con ramas
~$ git branch [NOMBRE DE LA RAMA]
Crear una nueva rama
~$ git checkout [NOMBRE DE LA RAMA]
~$ git banch [NOMBRE ACTUAL] [NUEVO NOMBRE]
Cambiar de rama
Cambiar nuembre a una rama
Listar las ramas disponibles
~$ git branch
~$ git merge [NOMBRE DE LA RAMA]
Uniendo ramas
Eliminar rama
~$ git branch -d [NOMBRE DE LA RAMA]
@DevFOSS
20. Generando llaves SSH
~$ ssh-keygen -t rsa -C "your_email@example.com"
Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]
Your identification has been saved in /home/you/.ssh/id_rsa.
Your public key has been saved in /home/you/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com
Generando llaves con keygen
Agregando la passphrase
Confirmación
@DevFOSS