Guardar un archivo en Git

Abdul Jabbar 6 febrero 2022
Guardar un archivo en Git

A veces, cuando estamos trabajando en un gran proyecto, nos encontramos con situaciones en las que nuestro estado de trabajo se vuelve desordenado por varias razones.

En ese caso, necesitamos cambiar de rama por un tiempo para que funcione mejor. Para esta situación, el problema que podríamos enfrentar es que no necesitamos commits con el trabajo que está a medio hacer solo para que podamos abordar este punto más adelante.

La solución a este problema es el comando git stash. El comando git stash nos permite almacenar temporalmente el estado de nuestro directorio de trabajo en el archivo temporal.

, podemos decir que luego podemos cambiar de rama, enviar nuestro trabajo deseado y luego regresar al trabajo que hemos puesto en espera con el comando git stash.

En otras palabras, podemos decir que el comando git stash es mucho más simple; almacena el estado actual de nuestro directorio de trabajo y el índice en nuestro archivo oculto. Eso significa que no hay cambios confirmados en el índice o el directorio de trabajo.

Stashing toma el estado irrelevante de nuestro directorio de trabajo, es decir, nuestros archivos rastreados modificados y cambios preparados, y lo guarda en un tipo de datos de pila de cambios sin terminar que luego puede volver a aplicar usando una rama diferente también.

Mientras trabajamos, podemos hacer muchos cambios y agregar muchos archivos sucios, pero cuando guardamos, Git guarda solo una instantánea limpia de nuestro directorio de trabajo.

Debemos saber que esconder un archivo significa que empujamos el contenido de este archivo al stash. Si volvemos a cambiar el archivo, se cambiará en el stash y no en el directorio de trabajo. Por lo tanto, no debemos cambiar el archivo después de guardarlo.

Deberíamos usar el comando stash save para guardar un archivo. Si queremos guardar todos los cambios en el directorio de trabajo, debemos usar el comando stash save --all. Si queremos desarchivar un archivo, debemos usar el comando stash pop.

Pasos para guardar solo un archivo en Git

Digamos que tenemos siete archivos y los hemos cambiado todos. Ahora veremos qué pasos se deben seguir para guardar solo uno de los siete archivos en el repositorio actual.

  • Visualización de los archivos modificados

    En primer lugar, ejecutaremos el comando git status para examinar la lista de archivos modificados.

    git status
    
  • Archivos provisionales

    Después de examinar la lista, ejecutaremos el comando git add para organizar los siete archivos:

    git add .
    
  • Desmontar el archivo

    Después de preparar todos los archivos, el siguiente paso es desorganizar file2 con la ayuda del comando git reset.

    git reset file2
    
  • Esconder el archivo

    Ahora esconderemos file2 con la ayuda del comando git stash para llevarlo de vuelta a su etapa actual comprometida en el repositorio actual.

    git stash --keep-index
    

    El otro método por el cual podemos ocultar solo un archivo es ejecutar el siguiente comando.

    git stash save -p "commit message"
    

Con la ayuda del método anterior, podemos seleccionar qué bloque se debe agregar al stash. Además, si hemos trabajado en un archivo, podemos ocultar los cambios antes de confirmarlo para que el commit se realice con nuestro archivo de trabajo.

El comando ocultará los cambios agregados a nuestro índice (cambios por etapas) y los cambios realizados en los archivos actualmente rastreados por Git (cambio por etapas).

El ocultamiento es una forma de tomar una instantánea del estado actual de nuestra copia de trabajo, almacenar la instantánea y luego volver a un estado de copia de trabajo limpia.

Una vez que hemos agregado los cambios al índice, podemos confirmarlos. Si queremos guardar los cambios en el directorio de trabajo pero no en el índice, utilice la opción --keep-index. Los cambios ocultos se pueden volver a aplicar en cualquier momento.

Nota: Después de guardar un archivo, debemos confirmarlo en el repositorio. No debemos olvidarnos de hacerlo.

Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

Artículo relacionado - Git Stash