Obtener git para no mostrar files sin seguimiento

Al hacer git commit , ¿hay alguna manera de no mostrar los files sin seguimiento en mi editor (definido en $EDITOR )? Sé cómo hacerlo en el shell ( git status -uno ), pero me gustaría hacerlo también en el editor.

Tenga en count que no quiero ignorar estos files para siempre; Simplemente no quiero verlos en ciertas ocasiones.

De la página man de git-commit :

        -u [], --untracked-files [=]
            Mostrar files sin seguimiento (Pnetworkingeterminado: todo).

            El parámetro de modo es opcional y se usa para especificar el event handling untracked
            files.  Las posibles opciones son:

            · No - No muestra ningún file sin seguimiento

            · Normal: muestra files y directorys sin seguimiento

            · Todo: también muestra files individuales en directorys no rastreados.

                Ver git-config (1) para la variable de configuration utilizada para cambiar el valor pnetworkingeterminado para
                cuando la opción no está especificada

Si no quiere comprometerlos con su repository, utilice un file .gitignore para ignorarlos. Se pueden encontrar más detalles en la página man de gitignore . No aparecerán como files sin seguimiento cuando ingrese su post de confirmación en su $EDITOR .

Si simplemente no desea verlos al comprometerse, configure la variable de configuration de Git status.showUntrackedFiles en no , como se indica aquí :

 $ git config --global status.showUntrackedFiles no 

Puede usar temporalmente la opción de confirmación de git -uno para enmascarar files sin -uno ( git help commit ).

Si desea una solución permanente, use el file .gitignore .

Por ejemplo, si desea ignorar el file bar.foo y cualquier file con la extensión .bak , debe crear un file .gitignore en el directory raíz de su proyecto que contenga:

 bar.foo *.bak 

Algunos files son ignorados por un file global gitignore (por ejemplo, el file de punto y el directory son ignorados).

Agregue los nombres de los files, o templates (comodines) para los nombres de los files, al file .gitignore y agréguelos al repository:

 git add .gitignore git commit -m 'Added .gitignore file' 

Por ejemplo, para mi repository Go, tengo un file .gitignore que contiene:

 *.o *.a *.so *.pl *.6 *.out _obj/ _cgo_defun.c _cgo_export.c _cgo_export.h _cgo_gotypes.go *.cgo1.go *.cgo2.c example/example ifix1/esqlc-cmds.c 

Probablemente debería comprimir los nombres ' _cgo_ ' con un comodín; el otro file '.c' se genera a partir de un file '.ec' por lo que no necesita ser rastreado.

En ocasiones, no se desean notifications sobre un file repo modificado o un file nuevo que deba agregarse al repository. Sin embargo, agregar el nombre del file a .gitignore podría no ser una buena opción tampoco. Por ejemplo, los files generados localmente que otros usuarios probablemente no generarán (por ejemplo, los files creados por un editor) o los files del código de testing experimental pueden no ser apropiados para aparecer en un file .gitignore .

En esos casos, use una de estas soluciones:

  1. Si el file es un file repo modificado

    Usa el command:

    git update-index --assume-unchanged "$FILE"

    Para deshacer esto, usa el command:

    git update-index --no-assume-unchanged "$FILE"

    Sin embargo, el command update-index no funciona con files nuevos que aún no se han agregado al repository.

  2. Si el file es nuevo y no se ha agregado al repository

    Agregue su nombre de file al file de exclude del repository:

    echo "$FILE" >> .git/info/exclude

    Esto también funciona para los files repo modificados, pero no hay un command específico para deshacerlo. El file de exclude necesitaría ser editado y el nombre de file borrado de él. O otros commands podrían aproximarse:

    ex -s -c"g/^${FILE}\$/d" -cwq .git/info/exclude

    Tenga en count que esto sobrescribe el file de exclude existente y si el nombre del file especificado contiene caracteres especiales que podrían afectar la expresión regular, los resultados son impnetworkingecibles.

    Este uso del file de exclude es recomendado por la página "Ignorar files" en la Ayuda de GitHub .