Hice algo git commit -m "message"
como esto:
> git commit -m "save arezzo files"
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: arezzo.txt
# modified: arezzo.jsp
#
no changes added to commit (use "git add" and/or "git commit -a")
Pero luego, cuando lo hago git status
, muestra los mismos archivos modificados:
> git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: arezzo.txt
# modified: arezzo.jsp
#
no changes added to commit (use "git add" and/or "git commit -a")
¿Qué estoy haciendo mal?
git
version-control
git-commit
arezzo
fuente
fuente
git commit -am "save arezzo files"
para agregar automáticamente todos los cambios (wrt .gitignore). Es posible que desee agregar solo archivos /git add file.src
Respuestas:
Como dice el mensaje:
Git tiene un "área de preparación" donde los archivos deben agregarse antes de ser confirmados, puede leer una explicación aquí .
Para su ejemplo específico, puede usar:
(tenga
a
en cuenta el extra en las banderas, también se puede escribir comogit commit -a -m "message"
- ambos hacen lo mismo)Alternativamente, si desea ser más selectivo sobre lo que agrega a la confirmación, use el comando git add para agregar los archivos apropiados al área de preparación y el estado de git para obtener una vista previa de lo que se va a agregar (recuerde prestar atención a la redacción utilizada).
También puede encontrar documentación general y tutoriales sobre cómo usar git en la página de documentación de git que le dará más detalles sobre el concepto de almacenamiento provisional / adición de archivos.
Otra cosa que vale la pena conocer es la puesta en escena interactiva : esto le permite agregar partes de un archivo al área de puesta en escena, por lo que si ha realizado tres cambios de código distintos (para funcionalidades relacionadas pero diferentes), puede usar el modo interactivo para dividir el cambios y agregar / confirmar cada parte a su vez. Tener compromisos específicos más pequeños como este puede ser útil.
fuente
No agregaste los cambios. Puede agregarlos específicamente a través de
o agregue todos los cambios (desde la ruta raíz del proyecto)
o use la taquigrafía
-a
mientras se compromete:fuente
Deberías hacer:
fuente
Copié un pequeño subproyecto que tenía que estaba bajo el control de fuente de Git en otro proyecto y olvidé eliminar la carpeta .git. Cuando fui a confirmar recibí el mismo mensaje que el anterior y no pude borrarlo hasta que eliminé la
.git
carpeta.Es un poco tonto, pero vale la pena verificar que no tenga una carpeta .git debajo de la carpeta que no se compromete.
fuente
Podrías haber hecho un:
Para verificar qué archivos modificó y se agregarán (ejecución en seco: opción -n), y luego
Para agregar solo archivos modificados
fuente
Me parece que este problema aparece cuando he hecho un
git add .
en un subdirectorio debajo de donde.gitignore
vive mi archivo (el directorio de inicio de mi repositorio, por así decirlo). Intente cambiar los directorios a su directorio superior y ejecutargit add .
seguido degit commit -m "my commit message"
.fuente
Quizás algo obvio, pero ...
Si tiene problemas con el índice, use git-gui . Obtiene una muy buena vista de cómo funciona realmente el índice (área de ensayo).
Otra fuente de información que me ayudó a entender el índice fue Scott Chacons "Getting Git", página 259 y posteriores.
Comencé a usar la línea de comando porque la mayoría de la documentación solo mostraba que ...
Creo que git-gui y gitk realmente me hacen trabajar más rápido, y me libré de los malos hábitos como "git pull", por ejemplo ... Ahora siempre busco primero ... Mira cuáles son realmente los nuevos cambios antes de fusionarme.
fuente
La razón por la que esto está sucediendo es porque tienes una carpeta que Git ya está rastreando dentro de otra carpeta que Git también rastrea. Por ejemplo, tenía un proyecto y le agregué una subcarpeta. Ambos estaban siendo rastreados por Git antes de poner uno dentro del otro. Para dejar de rastrear el que está dentro, encuéntralo y elimina el archivo Git con:
En mi caso, tenía una aplicación de WordPress y la carpeta que agregué dentro era un tema. Así que tuve que ir a la raíz del tema y eliminar el archivo Git, para que todo el proyecto fuera rastreado por el padre, la aplicación WordPress.
fuente
si tiene más archivos en mi caso, tengo 7000 archivos de imagen cuando trato de agregarlos desde la carpeta de ruta del proyecto, no los ha agregado , pero cuando voy a la carpeta de imágenes, todo está bien. Ir a través de la carpeta de destino y ordenar como abows
fuente
Tuve un problema en el que estaba haciendo
commit --amend
incluso después de emitir ungit add .
y todavía no funcionaba. Resulta que hice algunas.vimrc
personalizaciones y mi editor no funcionaba correctamente. La solución de estos errores para quevim
devuelva el código correcto resolvió el problema.fuente
Tuve un problema muy similar con el mismo mensaje de error. "Cambios no organizados para la confirmación", pero cuando hago un diff muestra diferencias. Finalmente descubrí que hace un tiempo había cambiado un caso de directorios. ex. "PostgeSQL" a "postgresql". Como recuerdo ahora, a veces git dejará uno o dos archivos en el directorio de casos anterior. Luego, confirmará una nueva versión para el nuevo caso.
Por lo tanto, git no sabe en cuál confiar. Entonces, para resolverlo, tuve que ir al sitio web del github. Entonces podrás ver ambos casos. Y debe eliminar todos los archivos en el directorio en mayúsculas incorrecto. Asegúrese de tener la versión correcta guardada o en el directorio en mayúsculas correcto.
Una vez que haya eliminado todos los archivos en el directorio del caso anterior, todo ese directorio desaparecerá. Entonces haz un compromiso.
En este punto, deberías poder hacer un Pull en tu computadora local y no ver más los conflictos. Así poder comprometerse de nuevo. :)
fuente
si tiene una subcarpeta, que se clonó desde otro repositorio git, primero debe eliminar el archivo $ .git $ del repositorio secundario:
rm -rf .git
después puede cambiar a la carpeta principal y usargit add -A
.fuente