Cuando hago una git commit -a
, veo lo siguiente:
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch better_tag_show
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: ../assets/stylesheets/application.css
# modified: ../views/pages/home.html.erb
# modified: ../views/tags/show.html.erb
# modified: ../../db/seeds.rb
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# ../assets/stylesheets/
# ../views/pages/
¿Qué significan esos archivos sin seguimiento? De hecho, se ha realizado un seguimiento de todos los cambios. No entiendo por qué git me advierte sobre archivos sin seguimiento aquí.
EDITAR :
Ok, veo muchas respuestas confusas. Esto es lo que pasa después de git commit -a
esto.
# On branch master
nothing to commit (working directory clean)
Como puede ver, no hay NADA más que esos cuatro archivos a los que se les aplicaron cambios.
Mi pregunta debería reformularse de la siguiente manera: ¿Por qué git me advierte sobre los archivos sin seguimiento cuando se ha realizado un seguimiento de todos los cambios en esta confirmación?
En otras palabras, ¿ es innecesaria la advertencia sin seguimiento en el mensaje de confirmación de git ?
(use "git add <file>..." to include in what will be committed)
add
ed hasta ahora. De los documentos para-a
: Dígale al comando que organice automáticamente los archivos que se han modificado y eliminado, pero los archivos nuevos que no le ha informado a git no se ven afectados .Respuestas:
Para otros que tengan el mismo problema, intente ejecutar
git add .
que agregará todos los archivos del directorio actual para realizar un seguimiento (incluidos los sin seguimiento) y luego usargit commit -a
para confirmar todos los archivos rastreados.Como sugirió @Pacerier, un revestimiento que hace lo mismo es
git add -A
fuente
git commit -a
confirmará todos los archivos rastreados, no rastreará los archivos no rastreados.git add .
rastreará los archivos sin seguimiento en el directorio actual.git add -a
rastreará todos los archivos sin seguimiento.git add -A
, nogit commit -A
. Por lo que puedo decir, no hay un interruptor al que pueda pasargit commit
que incluya archivos sin seguimiento.git commit -am "msg"
no es lo mismo quegit add file
ygit commit -m "msg"
Si tiene algunos archivos que nunca se agregaron al seguimiento de git, aún debe hacerlo
git add file
Fuente: "git commit -a" y "git add"
fuente
git commit -a
no es igual agit add .
+git commit
. Elgit add
paso agrega solo los archivos que se enumeran como modificados en sugit status
, no todo en el directorio actual.Debes escribir en la línea de comando
Esto confirmará todos los archivos sin seguimiento
Editar:
Después de preparar sus archivos, están listos para su confirmación, por lo que su próximo comando debería ser
fuente
Primero debe agregar todos los archivos sin seguimiento. Utilice esta línea de comando:
git add *
Luego confíe usando esta línea de comando:
git commit -a
fuente
Si tiene problemas con archivos sin seguimiento, este script de 3 líneas le ayudará.
Entonces solo
git push
fuente
Como sugiere el nombre, los 'archivos sin seguimiento' son los archivos que no están siendo rastreados por git. No están en su área de preparación y no formaron parte de ninguna confirmación anterior. Si desea que tengan una versión (o que sean administrados por git), puede hacerlo diciéndole a 'git' usando 'git add'. Consulte este capítulo Grabación de cambios en el repositorio en el libro Progit , que utiliza una imagen agradable para proporcionar una buena explicación sobre la grabación de cambios en el repositorio de git y también explica los términos 'con seguimiento' y 'sin seguimiento'
fuente
Asegúrese de estar en el directorio correcto (carpeta principal del repositorio) en su git local para que pueda encontrar la configuración de la carpeta .git antes de confirmar o agregar archivos.
fuente