Crea un repositorio Bare:
git init --bare myproject.git
Paso 2: Clonación del repositorio en el ordenador local Clona el repositorio en tu ordenador local usando el comando `git clone`.
git clone gituser@your_vps_ip_address:/var/git/myproject.git
Reemplaza «gituser» con el nombre del usuario que creaste, y «your_vps_ip_address» con la dirección IP de tu VPS. Paso 3: Envío de cambios al servidor Después de realizar cambios en el repositorio en el ordenador local, puedes enviarlos al servidor usando el comando `git push`.
git push origin main
Este método es fácil de configurar, pero no proporciona medios avanzados de gestión de acceso. Cada usuario que tenga acceso a la cuenta `gituser` puede modificar todos los repositorios.

Configuración de Gitolite

Gitolite es una forma más avanzada de configurar un servidor Git, que proporciona un sistema flexible de gestión de derechos de acceso. Paso 1: Instalación de Gitolite Inicia sesión en el VPS como usuario `gituser` y clona el repositorio de Gitolite.
git clone https://github.com/sitaramc/gitolite.git
mkdir -p ~/bin
mv gitolite ~/bin/
Luego, ejecuta el instalador de Gitolite.
~/bin/gitolite install
Paso 2: Configuración de Gitolite Ejecuta Gitolite con tu clave pública SSH.
gitolite setup -pk ~/.ssh/id_rsa.pub
Reemplaza `~/.ssh/id_rsa.pub` con la ruta a tu clave pública SSH. Paso 3: Administración de repositorios Ahora puedes administrar los repositorios y los derechos de acceso usando el repositorio `gitolite-admin`. Clónalo en tu ordenador local.
git clone gituser@your_vps_ip_address:gitolite-admin
En el repositorio `gitolite-admin` hay dos directorios: `conf` y `keydir`. En el directorio `conf` están los archivos de configuración de los repositorios, y en el directorio `keydir` están las claves públicas SSH de los usuarios. Para crear un nuevo repositorio, añade un archivo de configuración al directorio `conf` y la clave SSH del usuario al directorio `keydir`. Luego, envía los cambios al repositorio `gitolite-admin`. Ejemplo de archivo de configuración `conf/gitolite.conf`:
repo myproject
    RW+ = @all
Esta configuración proporciona derechos de lectura y escritura a todos los usuarios. Puedes configurar reglas de acceso más complejas, usando grupos de usuarios y diferentes derechos de acceso.

Ejemplo: Desarrollaremos un script sencillo en Python, lo añadiremos a un repositorio Git, haremos un commit y lo enviaremos al repositorio remoto. Inicialmente crearemos un archivo `hello.py`:
nano hello.py
Añadiremos el siguiente código:
print("¡Hola, mundo!")
Luego lo agregaremos a Git:
git add hello.py
git commit -m "Added hello.py"
git push origin main
En el primer `push` puede ser necesario especificar `—set-upstream`:
git push --set-upstream origin main

Configuración de un servidor Git (opcional)

En lugar de usar servicios públicos, como GitHub o GitLab, puedes configurar tu propio servidor Git en tu VPS. Esto te da un control total sobre tus repositorios y te permite almacenar código confidencial en tu propia infraestructura. Consideraremos la configuración de un servidor Git usando SSH, Gitolite y Gitea.

Configuración de un servidor Git usando SSH

La forma más sencilla de configurar un servidor Git es usar SSH. Este método es adecuado para equipos pequeños y proyectos donde no se requiere un sistema complejo de gestión de derechos de acceso. Paso 1: Creación del repositorio Crea un directorio para almacenar los repositorios Git. Por ejemplo:
sudo mkdir /var/git
sudo chown gituser:gituser /var/git
chmod 777 /var/git
cd /var/git
Crea un repositorio Bare:
git init --bare myproject.git
Paso 2: Clonación del repositorio en el ordenador local Clona el repositorio en tu ordenador local usando el comando `git clone`.
git clone gituser@your_vps_ip_address:/var/git/myproject.git
Reemplaza «gituser» con el nombre del usuario que creaste, y «your_vps_ip_address» con la dirección IP de tu VPS. Paso 3: Envío de cambios al servidor Después de realizar cambios en el repositorio en el ordenador local, puedes enviarlos al servidor usando el comando `git push`.
git push origin main
Este método es fácil de configurar, pero no proporciona medios avanzados de gestión de acceso. Cada usuario que tenga acceso a la cuenta `gituser` puede modificar todos los repositorios.

Configuración de Gitolite

Gitolite es una forma más avanzada de configurar un servidor Git, que proporciona un sistema flexible de gestión de derechos de acceso. Paso 1: Instalación de Gitolite Inicia sesión en el VPS como usuario `gituser` y clona el repositorio de Gitolite.
git clone https://github.com/sitaramc/gitolite.git
mkdir -p ~/bin
mv gitolite ~/bin/
Luego, ejecuta el instalador de Gitolite.
~/bin/gitolite install
Paso 2: Configuración de Gitolite Ejecuta Gitolite con tu clave pública SSH.
gitolite setup -pk ~/.ssh/id_rsa.pub
Reemplaza `~/.ssh/id_rsa.pub` con la ruta a tu clave pública SSH. Paso 3: Administración de repositorios Ahora puedes administrar los repositorios y los derechos de acceso usando el repositorio `gitolite-admin`. Clónalo en tu ordenador local.
git clone gituser@your_vps_ip_address:gitolite-admin
En el repositorio `gitolite-admin` hay dos directorios: `conf` y `keydir`. En el directorio `conf` están los archivos de configuración de los repositorios, y en el directorio `keydir` están las claves públicas SSH de los usuarios. Para crear un nuevo repositorio, añade un archivo de configuración al directorio `conf` y la clave SSH del usuario al directorio `keydir`. Luego, envía los cambios al repositorio `gitolite-admin`. Ejemplo de archivo de configuración `conf/gitolite.conf`:
repo myproject
    RW+ = @all
Esta configuración proporciona derechos de lectura y escritura a todos los usuarios. Puedes configurar reglas de acceso más complejas, usando grupos de usuarios y diferentes derechos de acceso.

Trabajar con un repositorio remoto

«` Un repositorio remoto es un repositorio ubicado en un servidor remoto, como GitHub, GitLab o Bitbucket. Te permite colaborar con otros desarrolladores y almacenar copias de seguridad de tu código. Para conectarte a un repositorio remoto, utiliza el comando `git remote add`.
git remote add origin git@github.com:your_username/your_repository.git # Conectarse al repositorio remoto
Reemplaza «git@github.com:your_username/your_repository.git» con la URL de tu repositorio remoto. «origin» es un alias para el repositorio remoto. Puedes usar cualquier otro nombre. Para enviar los cambios locales al repositorio remoto, utiliza el comando `git push`.
git push origin main # Enviar la rama "main" al repositorio remoto "origin"
Para obtener los cambios del repositorio remoto, utiliza el comando `git pull`.
git pull origin main # Obtener los cambios de la rama "main" del repositorio remoto "origin"
El comando `git clone` te permite clonar un repositorio remoto existente en tu ordenador local.
git clone git@github.com:your_username/your_repository.git # Clonar el repositorio
Ejemplo: Desarrollaremos un script sencillo en Python, lo añadiremos a un repositorio Git, haremos un commit y lo enviaremos al repositorio remoto. Inicialmente crearemos un archivo `hello.py`:
nano hello.py
Añadiremos el siguiente código:
print("¡Hola, mundo!")
Luego lo agregaremos a Git:
git add hello.py
git commit -m "Added hello.py"
git push origin main
En el primer `push` puede ser necesario especificar `—set-upstream`:
git push --set-upstream origin main

Configuración de un servidor Git (opcional)

En lugar de usar servicios públicos, como GitHub o GitLab, puedes configurar tu propio servidor Git en tu VPS. Esto te da un control total sobre tus repositorios y te permite almacenar código confidencial en tu propia infraestructura. Consideraremos la configuración de un servidor Git usando SSH, Gitolite y Gitea.

Configuración de un servidor Git usando SSH

La forma más sencilla de configurar un servidor Git es usar SSH. Este método es adecuado para equipos pequeños y proyectos donde no se requiere un sistema complejo de gestión de derechos de acceso. Paso 1: Creación del repositorio Crea un directorio para almacenar los repositorios Git. Por ejemplo:
sudo mkdir /var/git
sudo chown gituser:gituser /var/git
chmod 777 /var/git
cd /var/git
Crea un repositorio Bare:
git init --bare myproject.git
Paso 2: Clonación del repositorio en el ordenador local Clona el repositorio en tu ordenador local usando el comando `git clone`.
git clone gituser@your_vps_ip_address:/var/git/myproject.git
Reemplaza «gituser» con el nombre del usuario que creaste, y «your_vps_ip_address» con la dirección IP de tu VPS. Paso 3: Envío de cambios al servidor Después de realizar cambios en el repositorio en el ordenador local, puedes enviarlos al servidor usando el comando `git push`.
git push origin main
Este método es fácil de configurar, pero no proporciona medios avanzados de gestión de acceso. Cada usuario que tenga acceso a la cuenta `gituser` puede modificar todos los repositorios.

Configuración de Gitolite

Gitolite es una forma más avanzada de configurar un servidor Git, que proporciona un sistema flexible de gestión de derechos de acceso. Paso 1: Instalación de Gitolite Inicia sesión en el VPS como usuario `gituser` y clona el repositorio de Gitolite.
git clone https://github.com/sitaramc/gitolite.git
mkdir -p ~/bin
mv gitolite ~/bin/
Luego, ejecuta el instalador de Gitolite.
~/bin/gitolite install
Paso 2: Configuración de Gitolite Ejecuta Gitolite con tu clave pública SSH.
gitolite setup -pk ~/.ssh/id_rsa.pub
Reemplaza `~/.ssh/id_rsa.pub` con la ruta a tu clave pública SSH. Paso 3: Administración de repositorios Ahora puedes administrar los repositorios y los derechos de acceso usando el repositorio `gitolite-admin`. Clónalo en tu ordenador local.
git clone gituser@your_vps_ip_address:gitolite-admin
En el repositorio `gitolite-admin` hay dos directorios: `conf` y `keydir`. En el directorio `conf` están los archivos de configuración de los repositorios, y en el directorio `keydir` están las claves públicas SSH de los usuarios. Para crear un nuevo repositorio, añade un archivo de configuración al directorio `conf` y la clave SSH del usuario al directorio `keydir`. Luego, envía los cambios al repositorio `gitolite-admin`. Ejemplo de archivo de configuración `conf/gitolite.conf`:
repo myproject
    RW+ = @all
Esta configuración proporciona derechos de lectura y escritura a todos los usuarios. Puedes configurar reglas de acceso más complejas, usando grupos de usuarios y diferentes derechos de acceso.

Trabajar con un repositorio remoto

«` Un repositorio remoto es un repositorio ubicado en un servidor remoto, como GitHub, GitLab o Bitbucket. Te permite colaborar con otros desarrolladores y almacenar copias de seguridad de tu código. Para conectarte a un repositorio remoto, utiliza el comando `git remote add`.
git remote add origin git@github.com:your_username/your_repository.git # Conectarse al repositorio remoto
Reemplaza «git@github.com:your_username/your_repository.git» con la URL de tu repositorio remoto. «origin» es un alias para el repositorio remoto. Puedes usar cualquier otro nombre. Para enviar los cambios locales al repositorio remoto, utiliza el comando `git push`.
git push origin main # Enviar la rama "main" al repositorio remoto "origin"
Para obtener los cambios del repositorio remoto, utiliza el comando `git pull`.
git pull origin main # Obtener los cambios de la rama "main" del repositorio remoto "origin"
El comando `git clone` te permite clonar un repositorio remoto existente en tu ordenador local.
git clone git@github.com:your_username/your_repository.git # Clonar el repositorio
Ejemplo: Desarrollaremos un script sencillo en Python, lo añadiremos a un repositorio Git, haremos un commit y lo enviaremos al repositorio remoto. Inicialmente crearemos un archivo `hello.py`:
nano hello.py
Añadiremos el siguiente código:
print("¡Hola, mundo!")
Luego lo agregaremos a Git:
git add hello.py
git commit -m "Added hello.py"
git push origin main
En el primer `push` puede ser necesario especificar `—set-upstream`:
git push --set-upstream origin main

Configuración de un servidor Git (opcional)

En lugar de usar servicios públicos, como GitHub o GitLab, puedes configurar tu propio servidor Git en tu VPS. Esto te da un control total sobre tus repositorios y te permite almacenar código confidencial en tu propia infraestructura. Consideraremos la configuración de un servidor Git usando SSH, Gitolite y Gitea.

Configuración de un servidor Git usando SSH

La forma más sencilla de configurar un servidor Git es usar SSH. Este método es adecuado para equipos pequeños y proyectos donde no se requiere un sistema complejo de gestión de derechos de acceso. Paso 1: Creación del repositorio Crea un directorio para almacenar los repositorios Git. Por ejemplo:
sudo mkdir /var/git
sudo chown gituser:gituser /var/git
chmod 777 /var/git
cd /var/git
Crea un repositorio Bare:
git init --bare myproject.git
Paso 2: Clonación del repositorio en el ordenador local Clona el repositorio en tu ordenador local usando el comando `git clone`.
git clone gituser@your_vps_ip_address:/var/git/myproject.git
Reemplaza «gituser» con el nombre del usuario que creaste, y «your_vps_ip_address» con la dirección IP de tu VPS. Paso 3: Envío de cambios al servidor Después de realizar cambios en el repositorio en el ordenador local, puedes enviarlos al servidor usando el comando `git push`.
git push origin main
Este método es fácil de configurar, pero no proporciona medios avanzados de gestión de acceso. Cada usuario que tenga acceso a la cuenta `gituser` puede modificar todos los repositorios.

Configuración de Gitolite

Gitolite es una forma más avanzada de configurar un servidor Git, que proporciona un sistema flexible de gestión de derechos de acceso. Paso 1: Instalación de Gitolite Inicia sesión en el VPS como usuario `gituser` y clona el repositorio de Gitolite.
git clone https://github.com/sitaramc/gitolite.git
mkdir -p ~/bin
mv gitolite ~/bin/
Luego, ejecuta el instalador de Gitolite.
~/bin/gitolite install
Paso 2: Configuración de Gitolite Ejecuta Gitolite con tu clave pública SSH.
gitolite setup -pk ~/.ssh/id_rsa.pub
Reemplaza `~/.ssh/id_rsa.pub` con la ruta a tu clave pública SSH. Paso 3: Administración de repositorios Ahora puedes administrar los repositorios y los derechos de acceso usando el repositorio `gitolite-admin`. Clónalo en tu ordenador local.
git clone gituser@your_vps_ip_address:gitolite-admin
En el repositorio `gitolite-admin` hay dos directorios: `conf` y `keydir`. En el directorio `conf` están los archivos de configuración de los repositorios, y en el directorio `keydir` están las claves públicas SSH de los usuarios. Para crear un nuevo repositorio, añade un archivo de configuración al directorio `conf` y la clave SSH del usuario al directorio `keydir`. Luego, envía los cambios al repositorio `gitolite-admin`. Ejemplo de archivo de configuración `conf/gitolite.conf`:
repo myproject
    RW+ = @all
Esta configuración proporciona derechos de lectura y escritura a todos los usuarios. Puedes configurar reglas de acceso más complejas, usando grupos de usuarios y diferentes derechos de acceso.

«`html

¿Cómo instalar Git en un VPS? Guía paso a paso

Git es una herramienta indispensable para los desarrolladores, que permite gestionar las versiones del código de manera eficiente, colaborar con colegas y desplegar aplicaciones. En este artículo, veremos en detalle cómo instalar y configurar Git en tu VPS (Virtual Private Server) bajo Linux. Cubriremos varias formas de instalación, la configuración de parámetros básicos y la seguridad de tu repositorio. Ya sea que estés creando un nuevo proyecto o trabajando con uno existente, esta guía te proporcionará todos los pasos necesarios para integrar Git con éxito en tu infraestructura VPS.

VPS хостинг

Виртуальные серверы с гарантированными ресурсами

Выбрать VPS

Contenido:

Preparación preliminar del VPS

¿Cómo instalar Git en un VPS? - Preparación del VPS para la instalación de Git: actualización de paquetes, creación de un nuevo usuario, configuración de claves SSH.

Antes de comenzar a instalar Git, es necesario asegurarse de que tu VPS esté listo para funcionar. Esto incluye actualizar la lista de paquetes, instalar las dependencias necesarias y crear un usuario para trabajar con Git. También se recomienda configurar las claves SSH para un acceso seguro al servidor.

Actualización de la lista de paquetes e instalación de dependencias

El primer paso es actualizar la lista de paquetes del sistema operativo. Esto te permitirá acceder a las versiones más recientes del software.
# Para Debian/Ubuntu:
sudo apt update && sudo apt upgrade -y

# Para CentOS/RHEL:
sudo yum update -y
Después de actualizar la lista de paquetes, es necesario instalar las dependencias necesarias que puedan ser requeridas para que Git funcione. En la mayoría de los casos, se trata de herramientas de desarrollo estándar.
# Para Debian/Ubuntu:
sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl git

# Para CentOS/RHEL:
sudo yum install -y gcc make zlib-devel openssl-devel bzip2-devel readline-devel sqlite-devel curl git
Asegúrate de que el comando se ejecute sin errores. Es importante instalar todos los paquetes indicados, ya que la estabilidad del funcionamiento de Git puede depender de ellos.

Creación de un nuevo usuario para Git

Se recomienda crear un usuario separado para trabajar con Git, con el fin de limitar los derechos de acceso y aumentar la seguridad. Esto es especialmente importante si tu VPS aloja otras aplicaciones.
sudo adduser gituser
sudo passwd gituser # Asigna una contraseña para el nuevo usuario
sudo usermod -aG sudo gituser # Agrega el usuario al grupo sudo (si es necesario)
Después de crear el usuario, cámbiate a él para la configuración adicional.
sudo su - gituser
Importante: Utiliza una contraseña segura para el nuevo usuario.

Configuración de claves SSH para un acceso seguro

La configuración de claves SSH te permitirá conectarte al VPS sin necesidad de introducir una contraseña, lo que aumenta la seguridad y la comodidad. Primero, genera una clave SSH en tu máquina local (si aún no la tienes).
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
Reemplaza «your_email@example.com» con tu dirección de correo electrónico. Sigue las instrucciones en pantalla para elegir la ubicación de almacenamiento de la clave e introducir una frase de contraseña (opcional). Luego, copia el contenido de la clave pública (normalmente se encuentra en el archivo ~/.ssh/id_rsa.pub) en tu VPS. Hay varias maneras de hacerlo. Puedes utilizar el comando `ssh-copy-id` (si está instalado en tu máquina local):
ssh-copy-id gituser@your_vps_ip_address
Reemplaza «gituser» con el nombre del usuario que has creado y «your_vps_ip_address» con la dirección IP de tu VPS. Se te pedirá que introduzcas la contraseña del usuario en el VPS. Si `ssh-copy-id` no está disponible, puedes copiar la clave manualmente. Primero, inicia sesión en el VPS como usuario `gituser`. Luego, crea un directorio `.ssh` (si aún no existe) y un archivo `authorized_keys`:
mkdir -p ~/.ssh
nano ~/.ssh/authorized_keys
Pega el contenido de tu clave pública en el archivo `authorized_keys` y guárdalo. Establece los permisos de acceso correctos para el directorio `.ssh` y el archivo `authorized_keys`:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
Ahora deberías poder conectarte al VPS como usuario `gituser` sin introducir una contraseña. Pruébalo ejecutando el siguiente comando en tu máquina local:
ssh gituser@your_vps_ip_address
Si todo está configurado correctamente, deberías iniciar sesión sin que se te solicite una contraseña.

¡La seguridad es lo primero! Utiliza siempre claves SSH para acceder a tu VPS y no guardes contraseñas en scripts.

Iván Petrov, Administrador de Sistemas
AcciónComando
Actualización de paquetes (Debian/Ubuntu)sudo apt update && sudo apt upgrade -y
Instalación de Git y dependencias (Debian/Ubuntu)sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl git
Creación de usuariosudo adduser gituser
Generación de clave SSH (localmente)ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Instalación de Git en el VPS (diferentes distribuciones)

¿Cómo instalar Git en un VPS? - Comparación de métodos de instalación de Git en varias distribuciones de Linux (apt, yum, source).

Existen varias formas de instalar Git en un VPS bajo Linux. La elección del método depende de la distribución que estés utilizando y de tus preferencias. Veremos la instalación desde repositorios de paquetes (apt, yum) y desde el código fuente.

Instalación de Git desde repositorios de paquetes (apt, yum)

Este método es el más sencillo y el recomendado para la mayoría de los usuarios. Permite instalar Git utilizando las herramientas estándar de gestión de paquetes de tu distribución. Para Debian/Ubuntu:
sudo apt update
sudo apt install git
git --version # Comprobar la versión de Git
Después de la instalación, comprueba la versión de Git para asegurarte de que la instalación se ha realizado correctamente. La salida del comando debe contener el número de la versión de Git instalada. Por ejemplo:
git version 2.34.1
Para CentOS/RHEL:
sudo yum update
sudo yum install git
git --version # Comprobar la versión de Git
De forma similar a Debian/Ubuntu, comprueba la versión de Git después de la instalación. Para Fedora:
sudo dnf update
sudo dnf install git
git --version # Comprobar la versión de Git
Y de nuevo, asegúrate de que Git está instalado correctamente comprobando la versión.

Instalación de Git desde el código fuente

La instalación desde el código fuente te proporciona un mayor control sobre el proceso de instalación, permitiéndote utilizar una versión específica de Git o configurar los parámetros de compilación. Sin embargo, este método requiere más tiempo y conocimientos. Paso 1: Descarga del código fuente Ve a la página web oficial de Git y descarga la última versión del código fuente. Puedes copiar el enlace de descarga y utilizar el comando `wget` en tu VPS.
wget https://github.com/git/git/archive/v2.34.1.tar.gz # Reemplaza con la versión actual
tar -xvzf v2.34.1.tar.gz # Descomprimir el archivo
cd git-2.34.1 # Cambiar al directorio con el código fuente
Reemplaza «v2.34.1» con el número de la versión de Git que has descargado. Paso 2: Compilación e instalación Antes de compilar, asegúrate de que tienes instaladas las herramientas de desarrollo necesarias. (Se enumeran en la sección «Preparación preliminar del VPS»). A continuación, ejecuta los siguientes comandos:
./configure --prefix=/usr/local
make
sudo make install
El parámetro `—prefix=/usr/local` indica dónde se instalará Git. Puedes cambiarlo si quieres instalar Git en otro lugar. Paso 3: Comprobación de la instalación Después de la instalación, añade `/usr/local/bin` a la variable `PATH` para que Git esté disponible desde la línea de comandos. Edita el archivo `~/.bashrc` (o un archivo de configuración similar de tu shell):
nano ~/.bashrc
Añade la siguiente línea al final del archivo:
export PATH="$PATH:/usr/local/bin"
Guarda el archivo y recarga la configuración del shell:
source ~/.bashrc
Ahora comprueba la versión de Git:
git --version
Si todo se ha hecho correctamente, verás el número de la versión de Git instalada.

La instalación desde el código fuente te da un control total, pero requiere más experiencia. Si eres principiante, es mejor utilizar la instalación desde los repositorios de paquetes.

Elena Sídorova, Desarrolladora
Método de instalaciónVentajasDesventajas
Repositorios de paquetesFacilidad de instalación, actualización automáticaElección limitada de versiones, dependencia de los repositorios
Código fuenteControl total, capacidad de configuraciónDificultad de instalación, requiere más tiempo

Configuración de Git después de la instalación

Después de instalar Git, es necesario configurar sus parámetros básicos, como el nombre de usuario, la dirección de correo electrónico y el editor predeterminado. Estos parámetros se utilizan al crear commits y permiten identificar al autor de los cambios.

Configuración del nombre de usuario y la dirección de correo electrónico

El nombre de usuario y la dirección de correo electrónico se asociarán con tus commits. Configúralos globalmente para que se apliquen a todos tus repositorios Git.
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
Reemplaza «Your Name» con tu nombre y «your_email@example.com» con tu dirección de correo electrónico. Puedes comprobar los parámetros establecidos con el comando:
git config --global user.name
git config --global user.email
Este comando mostrará los valores establecidos para el nombre y el correo electrónico.

Configuración del editor predeterminado

Git utiliza un editor predeterminado para introducir mensajes de commit, resolver conflictos y realizar otras operaciones. Puedes elegir cualquier editor de texto que te resulte cómodo. Ejemplos: Para utilizar Nano:
git config --global core.editor "nano"
Para utilizar Vim:
git config --global core.editor "vim"
Para utilizar VS Code (si está instalado y disponible desde la línea de comandos):
git config --global core.editor "code --wait"
Comprueba el editor establecido:
git config --global core.editor

Configuración del esquema de color

La configuración del esquema de color mejora la legibilidad de la salida de Git. Se recomienda activar el esquema de color para todos los comandos.
git config --global color.ui true
Ahora la salida de los comandos de Git se mostrará utilizando diferentes colores.

Configuración del archivo de ignorados

A menudo es necesario excluir algunos archivos y directorios del seguimiento de Git, por ejemplo, archivos de configuración, archivos temporales o código compilado. Para ello, se utiliza el archivo `.gitignore`. Crea un archivo `.gitignore` en la raíz de tu repositorio y enumera en él los archivos y directorios que deben ignorarse. Ejemplo de un archivo `.gitignore`:
# Ignorar archivos de configuración
config.ini
*.log

# Ignorar archivos temporales
tmp/*
*.swp

# Ignorar código compilado
*.o
*.exe
Para crear un archivo `.gitignore` global (que se aplica a todos los repositorios), puedes hacerlo así:
git config --global core.excludesfile ~/.gitignore_global

nano ~/.gitignore_global
Y en `~/.gitignore_global` añade las reglas de ignorar. Importante: Los archivos que ya están siendo rastreados por Git no se ignorarán, aunque estén especificados en `.gitignore`. Para excluirlos, primero debes eliminarlos del índice de Git utilizando el comando `git rm —cached `.

Configuración de alias de comandos

Los alias permiten abreviar los comandos largos de Git y simplificar su uso. Puedes crear alias para los comandos que se utilizan con frecuencia. Ejemplos: Para crear un alias para el comando `git status`:
git config --global alias.st status
Ahora puedes utilizar el comando `git st` en lugar de `git status`. Para crear un alias para el comando `git log —oneline —graph —decorate`:
git config --global alias.lg "log --oneline --graph --decorate"
Ahora puedes utilizar el comando `git lg` para mostrar el historial de commits en un formato cómodo. La lista completa de configuraciones se guarda en el archivo `~/.gitconfig`.
cat ~/.gitconfig
Ejemplo del contenido del archivo:
[user]
 name = Your Name
 email = your_email@example.com
[core]
 editor = nano
 excludesfile = /home/gituser/.gitignore_global
[color]
 ui = true
[alias]
 st = status
 lg = log --oneline --graph --decorate

Creación y uso de un repositorio Git

Después de instalar y configurar Git, puedes empezar a crear y utilizar repositorios Git. Veremos la creación de un repositorio local y remoto, la adición de archivos, los commits, las ramas y otras operaciones básicas.

Creación de un repositorio local

Para crear un repositorio local, ve al directorio de tu proyecto y ejecuta el comando `git init`.
cd /var/www/myproject
git init
Este comando creará un directorio oculto `.git` en tu proyecto, que contiene toda la información sobre el repositorio.

Añadir archivos y crear commits

Después de crear el repositorio, puedes añadir archivos al índice de Git con el comando `git add`.
git add . # Añadir todos los archivos en el directorio actual
git add filename.txt # Añadir un archivo específico
Luego, crea un commit con el comando `git commit`. Un commit es una instantánea del estado de tu proyecto en un momento determinado.
git commit -m "Initial commit" # Crear un commit con el mensaje "Initial commit"
El mensaje del commit debe ser breve e informativo, describiendo los cambios que has realizado.

Trabajar con ramas

Las ramas te permiten desarrollar nuevas funciones o corregir errores sin afectar a la base de código principal. Crea una nueva rama con el comando `git branch`.
git branch feature/new-feature # Crear una rama con el nombre "feature/new-feature"
Cámbiate a la nueva rama con el comando `git checkout`.
git checkout feature/new-feature # Cambiar a la rama "feature/new-feature"
Ahora puedes realizar cambios en la nueva rama y crear commits. Después de terminar de trabajar con la rama, puedes fusionarla con la rama principal (normalmente `main` o `master`) con el comando `git merge`.
git checkout main # Cambiar a la rama principal
git merge feature/new-feature # Fusionar la rama "feature/new-feature" con la rama principal
Si surgen conflictos al fusionar, tendrás que resolverlos manualmente.

Trabajar con un repositorio remoto

«` Un repositorio remoto es un repositorio ubicado en un servidor remoto, como GitHub, GitLab o Bitbucket. Te permite colaborar con otros desarrolladores y almacenar copias de seguridad de tu código. Para conectarte a un repositorio remoto, utiliza el comando `git remote add`.
git remote add origin git@github.com:your_username/your_repository.git # Conectarse al repositorio remoto
Reemplaza «git@github.com:your_username/your_repository.git» con la URL de tu repositorio remoto. «origin» es un alias para el repositorio remoto. Puedes usar cualquier otro nombre. Para enviar los cambios locales al repositorio remoto, utiliza el comando `git push`.
git push origin main # Enviar la rama "main" al repositorio remoto "origin"
Para obtener los cambios del repositorio remoto, utiliza el comando `git pull`.
git pull origin main # Obtener los cambios de la rama "main" del repositorio remoto "origin"
El comando `git clone` te permite clonar un repositorio remoto existente en tu ordenador local.
git clone git@github.com:your_username/your_repository.git # Clonar el repositorio
Ejemplo: Desarrollaremos un script sencillo en Python, lo añadiremos a un repositorio Git, haremos un commit y lo enviaremos al repositorio remoto. Inicialmente crearemos un archivo `hello.py`:
nano hello.py
Añadiremos el siguiente código:
print("¡Hola, mundo!")
Luego lo agregaremos a Git:
git add hello.py
git commit -m "Added hello.py"
git push origin main
En el primer `push` puede ser necesario especificar `—set-upstream`:
git push --set-upstream origin main

Configuración de un servidor Git (opcional)

En lugar de usar servicios públicos, como GitHub o GitLab, puedes configurar tu propio servidor Git en tu VPS. Esto te da un control total sobre tus repositorios y te permite almacenar código confidencial en tu propia infraestructura. Consideraremos la configuración de un servidor Git usando SSH, Gitolite y Gitea.

Configuración de un servidor Git usando SSH

La forma más sencilla de configurar un servidor Git es usar SSH. Este método es adecuado para equipos pequeños y proyectos donde no se requiere un sistema complejo de gestión de derechos de acceso. Paso 1: Creación del repositorio Crea un directorio para almacenar los repositorios Git. Por ejemplo:
sudo mkdir /var/git
sudo chown gituser:gituser /var/git
chmod 777 /var/git
cd /var/git
Crea un repositorio Bare:
git init --bare myproject.git
Paso 2: Clonación del repositorio en el ordenador local Clona el repositorio en tu ordenador local usando el comando `git clone`.
git clone gituser@your_vps_ip_address:/var/git/myproject.git
Reemplaza «gituser» con el nombre del usuario que creaste, y «your_vps_ip_address» con la dirección IP de tu VPS. Paso 3: Envío de cambios al servidor Después de realizar cambios en el repositorio en el ordenador local, puedes enviarlos al servidor usando el comando `git push`.
git push origin main
Este método es fácil de configurar, pero no proporciona medios avanzados de gestión de acceso. Cada usuario que tenga acceso a la cuenta `gituser` puede modificar todos los repositorios.

Configuración de Gitolite

Gitolite es una forma más avanzada de configurar un servidor Git, que proporciona un sistema flexible de gestión de derechos de acceso. Paso 1: Instalación de Gitolite Inicia sesión en el VPS como usuario `gituser` y clona el repositorio de Gitolite.
git clone https://github.com/sitaramc/gitolite.git
mkdir -p ~/bin
mv gitolite ~/bin/
Luego, ejecuta el instalador de Gitolite.
~/bin/gitolite install
Paso 2: Configuración de Gitolite Ejecuta Gitolite con tu clave pública SSH.
gitolite setup -pk ~/.ssh/id_rsa.pub
Reemplaza `~/.ssh/id_rsa.pub` con la ruta a tu clave pública SSH. Paso 3: Administración de repositorios Ahora puedes administrar los repositorios y los derechos de acceso usando el repositorio `gitolite-admin`. Clónalo en tu ordenador local.
git clone gituser@your_vps_ip_address:gitolite-admin
En el repositorio `gitolite-admin` hay dos directorios: `conf` y `keydir`. En el directorio `conf` están los archivos de configuración de los repositorios, y en el directorio `keydir` están las claves públicas SSH de los usuarios. Para crear un nuevo repositorio, añade un archivo de configuración al directorio `conf` y la clave SSH del usuario al directorio `keydir`. Luego, envía los cambios al repositorio `gitolite-admin`. Ejemplo de archivo de configuración `conf/gitolite.conf`:
repo myproject
    RW+ = @all
Esta configuración proporciona derechos de lectura y escritura a todos los usuarios. Puedes configurar reglas de acceso más complejas, usando grupos de usuarios y diferentes derechos de acceso.