Git server en Synology – Git en pc – Comandos Git

¿No sabes o tienes dudas para usar Git?
Espero resolverte las dudas con este post y que lo domines por ti mismo.

Git es un proyecto de código abierto que permite a los usuarios ejecutar un sistema de gestión de proyectos similar a GitHub en sus propios servidores, una herramienta de control de versiones que desarrolló originalmente Linus Torvalds, el famoso creador del kernel del sistema operativo Linux, en 2005.

Temas del post:
– Instalación en Synology
– Instalación en nuestro pc
– Uso Git con sus comandos.

Git explicado breve y fácilmente:
Para usar Git lo haremos desde la terminal o cmd en windows. Los comandos los ejecutamos desde la misma ruta donde están lo archivos. En caso de usarlo desde un git server y querer clonar nuestros archivos (hacer una copia) lo haremos desde la ruta donde queramos copiar la carpeta entera.

Usar Git es como trabajar con una copia de los archivos, que en este caso serán versiones.
Cada vez que guardamos los archivos se registra con un comentario (porque por el código de numeración luego es difícil saber qué hicimos en esos cambios) y seguidamente subimos nuestros cambios. Además, una de sus funciones permite trabajar en paralelo (desde otra rama) y fusionar en caso de querer guardar los cambios.
En la parte de los comandos, tenemos varios ejemplos donde podemos practicar.

Git también se puede sincronizar con editores de código.

Hay infinidad de vídeos por la red que lo explican, dejo un enlace a un vídeo de YouTube:
https://www.youtube.com/watch?v=jGehuhFhtnE


· Instalación en synology:

Desde Centro de paquetes, buscaremos Git Server e instalaremos. Una vez dentro, podremos elegir el usuario que queramos con permiso de uso:

A continuación tenemos que activar SSH (si no lo tenemos ya) desde:
«Panel de control» -> «Terminal y SNMP» -> y activar el check de «Habilitar servicio SSH»
*Podemos dejar el puerto por defecto o poner el que queramos.


• Instalar Git en nuestro pc:

  • Mac:
    –  En la página web de Git lo puedes descargar en http://git-scm.com/download/mac.
    – Otra manera más útil es instalar Xcode (editor de código apple) y se configura automáticamente, nunca está de más tener otro editor.
  • Windows:
    – Iremos a la web oficial: https://git-scm.com/download/win, si no se inicia la descarga automáticamente seleccionamos nuestra versión de windows, descargar e instalar.
    – Otra manera es instalar GitHub para windows, el instalador incluye la versión de línea de comandos y la interfaz de usuario de Git desde: http://windows.github.com.
  • Linux:
    – En linux Fedora se puede usar yum: yum install git
    – En distribución basada en Debian como Ubuntu, puedes usar apt-get: apt-get install git
    – Puedes encontrar más información en http://git-scm.com/download/linux.

· Empezar a usar Git Server en Synology:

Crear una carpeta donde queremos almacenar todos los repositorios.
– Crear carpeta para un repo específico.
– Iniciar Git server en la carpeta.

Abriremos nuestra terminal, iremos a la ruta y si no hemos creado la carpeta, podemos crearla por comando:

mkdir nombre_carpeta -> para crear una nueva carpeta que será la del repo.

Accedemos a la carpeta y escribimos el commando:

git init –bare -> para iniciar server git

Ahora desde el pc, clonamos la repo para así poder ir sincronizando los datos:

  • En caso de tener el puerto por defecto:
    git clone ssh://usuario_Synology@ip_Synology/volume1/ruta…/Git/nombre_carpeta
  • Si tenemos el puerto cambiado:
    git clone ssh://usuario_Synology@ip_Synology:43210/volume1/ruta…/Git/nombre_carpeta

A continuación nos pedirá el pass de nuestro usuario Synology para confirmar, si la carpeta está vacía nos avisará para que aceptemos. Ya tendremos nuestro Git iniciado.


Comandos para empezar a usar Git:

Algunos de los comandos en forma de cascada para ir pillando práctica.

Configurar el nombre y email para git: (Normalmente lo pide al iniciar git por primera vez, por si necesitamos modificarlo)

git config –global user.email email@delusuario.com

git config –global user.name nombre_usuario

Crear Repo:

Para crear el Repo en Server o local accedemos a la carpeta deseada.

Si queremos crear algún archivo:
touch filename.xxx (para crear archivo)
mkdir nombreCarpeta (para crear carpeta)

– Acceder a la carpeta donde queremos iniciar Git:
—Para iniciar git en local:  git init
—Para iniciar git en server:  git init –bare

Clonar Repo: (Para sincronizar los archivos del server con nuestro pc):

mkdir NomCarpeta (Creamos carpeta y accedemos a ella. 

En caso de clonar de init sin —bare

git clone ssh://user@dirección:puerto/rutaDeCarpetas/.git 

Para clonar en server indicas la carpeta.

git clone ssh://user@direccion:puerto/duraDeCarpeta/NombreCarpeta

– Ya tenemos los archivos en nuestro PC.

Comprobar archivos del Repo:

git status (los archivos en rojo son los modificados y verdes los que no están sincronizados en el server)

git add NombreArchivo.xxx (para añadir dicho archivo)

git add . (Para añadirlo todo, con el punto)

Volveríamos a comprobar los archivos:
git status (para ver archivos, rojo para agregar, verde ya agregado)

– Ya tenemos el git creado y ahora por último hacer el commit:

git commit -m comentario… (comentario para saber los cambios)

git push (para subir cambios al server)

Borrar git:

git rm nombreArchivo.git (borra el git)

git rm -rf .git (Para borrar desde carpeta sin borrar archivos)

Info de los archivos: 

git status (muestra cambios de archivos, rojo pendiente—verde agregado)

git log (ver comentarios de los archivos)

git log –oneline (ver log en fila)

git log –oneline –graph –decorate –all (ver resumen)

Ver diferencias:

git diff (para ver diferencias)

-Guardar cambios (se aconseja guardar cambios frecuentemente):

git status (ver estado archivos)

git add NombreArchivo.py (Para agregar archivo)

git add . (agregar todos)

git commit -m “comentario…

git status (para volver a revisar cambios, rojo pendiente – verde agregado)

git log (para ver los commit)

git push (para subir cambios al server)

Recuperar/Volver a versión de otro commit: 

git checkout HasDelCommit .  (el punto es para acoger todos los archivos)

git restore archivo.py (para restaurar cambios)

git checkout — archivo.py (Para volver a versión anterior)

git log –oneline (vemos nº de cambios)

git revert numCambio (Revierte los cambios a ese estado)

Ocultar archivos: (Archivos que no queramos que se sincronicen con el server.)

– Crear un archivo que se llame .gitignore

Dentro del archivo por cada fila, pondremos nombre archivo.xx o carpeta

git status (para ver archivos modificados)

git add (para guardar)

git commit -m “Comentario… (para hacer cambios)

git push (para subir los cambios al server)

Creando rama: (Creando otra rama para así no modificar los archivos principales, podremos cambiar de rama en cualquier momento y ver nuestros archivos principales.)

git branch (para ver en qué proyecto estamos)

git branch –list (ver listado de ramas)

git branch -a (ver listado de todas las ramas)

git branch NombreDeLaRamaCrear (Crear una rama)

git checkout nombrerama (Para movernos a esa rama)

– Ahora ya estás en la rama que has creado y puedes hacer tus cambios.

git status (vemos los archivos que se han modificado.

git add archivo. Para guardar archivos con cambios

git commit -m “Comentario de guardar

git log –oneline –graph –decorate –all (Para ver el árbol del log)

git push nombreRemoto nombreRama (para subir cambios al server)

git branch -d nombrerama (Para borrar la rama)

Commit: (Comentarios en los cambios)

git commit -m “Comentario commit…

git lo –online –graph –decorate –all (veremos árbol y el commit)

git reset –hard HEAD~1 – (volvemos al git anterior) Por si la liamos 😉

Merge: (Para fusionar ramas)

– Para mergear tenemos que estar en la rama que queremos hacer merge.

git checkout nombreRama (para movernos a ella)

git merge NombreRama con la que queremos hacer merge.

git status (para ver qué archivos hay cambiados)

git add archivo.py (para poder guardar cambios)

git commit -m “Comentario commit…

git lo –online –graph –decorate –all (veremos árbol y veremos el commit)

git push (para subir cambios al server)

Push (subir cambios al server):

git push (Subir cambios)

*Si vas a subir una rama al poner el push a secas te dice el código como:

git push nombreRemoto (origin) nombreRama (Subir rama)

git push –set-upstream nombreRemoto (origin) nombreRama (Subir rama)

Pull (descarga/actualiza):

git pull (descarga cambios del server)

– *Si haces un pull de una rama master y quieres actualizar tu rama, hacer checkout para ir a tu rama y ahí hacer el merge.


Y hasta aquí el post de hoy.
Como siempre, espero que os venga bien.
Recordad que podéis ayudar a la web desde el botón de donativos.
Salu2!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.