Ignorar archivos sin seguimiento en Git
Este artículo discutirá dos métodos que puede usar para ignorar archivos sin seguimiento en nuestro repositorio de Git. Ejecutar el comando git status
generará muchas líneas si tiene varios archivos y carpetas sin seguimiento en su repositorio local.
Saltemos directamente.
Ignorar archivos sin seguimiento en Git
Cubriremos los dos métodos utilizando dos escenarios diferentes. En nuestro primer caso, tenemos el repositorio Delftscopetech
.
Esto es lo que tenemos en nuestro repositorio.
pc@JOHN MINGW64 ~/Documents/GitHub/Delftscopetech (main)
$ git status
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: Delft.pdf
new file: sample.ph
Untracked files:
(use "git add <file>..." to include in what will be committed)
Example Code 2
Example Code 2.php
Example Code 3.php
Example code 1.php
downloadpdf.php
htmllinkpdf.html
insert.php
El comando git status
muestra dos archivos listos para confirmar y varios archivos sin seguimiento. Queríamos excluir los archivos sin seguimiento de la salida sin eliminarlos.
¿Cómo haríamos esto?
Agregue el parámetro -uno
al comando git status
; Es así de simple. Probémoslo con nuestro repositorio.
pc@JOHN MINGW64 ~/Documents/GitHub/Delftscopetech (main)
$ git status -uno
On branch main
Your branch is up to date with 'origin/main'.
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: Delft.pdf
new file: sample.php
Untracked files not listed (use -u option to show untracked files)
El parámetro -uno
es un alias para --untracked-files=no
.
Si ejecutamos el comando git status
sin el parámetro, mostrará los archivos sin seguimiento.
¿Qué pasa si queremos ignorar permanentemente los archivos sin seguimiento? ¿Como hacemos eso?
Usamos el siguiente comando.
git status --porcelain | grep '^??' | cut -c4- >> .gitignore
Esto ocultará permanentemente los archivos actuales sin seguimiento en su repositorio. Tenga en cuenta que debe tener un archivo .gitignore
existente para que el comando funcione.
Si no tiene el archivo, el gitignore
se ignorará a sí mismo. Utilice el siguiente comando si no tiene el archivo .gitignore
.
echo "$(git status --porcelain | grep '^??' | cut -c4-)" > .gitignore
La parte git status --porcelain
se ejecutará antes de que se cree el archivo .gitignore
. Usamos git status --porcelain
en lugar de git status --short
para obtener el resultado en un formato fácil de analizar.
La parte grep '^??'
filtrará todas las líneas que comiencen con ??
. Según el manual, estas líneas corresponden a los archivos sin seguimiento en el repositorio.
La parte cut -c4-
allana el camino hacia el archivo sin seguimiento eliminando los primeros tres caracteres de cada línea.
John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.
LinkedIn