Tengo problemas en los que no puedo agregar archivos a mi repositorio.
Estoy usando GIT en Windows, en Aptana Studio para algún desarrollo de Ruby.
Me las arreglé para enviar algunos archivos a GitHub, pero luego de esto, todo dejó de funcionar. Tengo, por ejemplo, una nueva subcarpeta en mi directorio maestro, con 2 archivos ruby dentro. Si llamo "git add.", Y luego "git status" y sigue diciendo "directorio de trabajo limpio" y no tiene nada que confirmar.
He intentado "git add folder / myfile.rb" y todavía nada.
¿Alguien tiene alguna idea de lo que puedo probar?
Respuestas:
Me encontré en una situación similar a la del cartel:
Pero tenía una solución diferente a la de aquí. Desde que llegué a esto primero, espero ahorrarles algo de tiempo a otros.
De las respuestas anteriores y lo que he visto en otros lugares, las soluciones habituales a este problema son:
.gitignore
y.git/info/exclude
.gitkeep
marcador de posición para que git rastree la carpeta.En mi caso, originalmente intenté crear un repositorio de git alrededor de un repositorio existente (sin saber que estaba allí). Había eliminado la
.git
carpeta de este sub-repositorio hace un tiempo, pero no me di cuenta de que era demasiado tarde y que git ya lo estaba rastreando como un submódulo . Puede leer más sobre cómo se comportan y cómo eliminarlos aquí , perogit rm --cached path_to_submodule
.fuente
git rm --cached name_of_former_submodule
y obtuvo la ruta automáticamente.Para agregar a las posibles soluciones para otros usuarios:
Asegúrese de no haber cambiado las mayúsculas y minúsculas del nombre de la carpeta en Windows:
Tuve un problema similar en una carpeta llamada
Setup
controlada por Git y alojada en GitHub, todo el desarrollo se realizó en una máquina con Windows.En algún momento cambié la carpeta a
setup
(minúscula S). A partir de ese momento, cuando agregué nuevos archivos a la carpeta de configuración, se almacenaron en lasetup
carpeta y no en laSetup
carpeta, pero supongo que debido a que estaba desarrollando en una máquina Windows, laSetup
carpeta existente en git / github no se cambiósetup
.El resultado fue que no pude ver todos los archivos
setup
en GitHub. Sospecho que si cloné el proyecto en una máquina * nix, habría visto dos carpetasSetup
ysetup
.Así que asegúrese de no haber cambiado el caso de la carpeta contenedora en una máquina con Windows, si lo ha hecho, le sugiero:
setup-temp
git add -A
git commit -m "Whatever"
git add -A
git commit -m "Whatever"
fuente
Si el archivo está excluido por
.gitignore
y desea agregarlo de todos modos, puede forzarlo con:fuente
.gitignore
así que no estoy seguro de por qué!), ¡Y esto solucionó mi problema!Extraño, pero luché con git toda la noche para agregar un archivo. Resulta que ya se agregó. Git no estaba recogiendo mis cambios, ya que los cambios no se estaban guardando, ya que mi cuenta no podía acceder al archivo y mi IDE no informaba esto a través de SSH.
En resumen, verifique que no lo haya agregado al repositorio.
fuente
git
podría agregar un mensaje si alguna de las rutas dadas ya está completamente en el repositorio ... habría ahorrado al menos 13 personas unos minutos.Verifique su
.gitignore
archivo para asegurarse de que Git pueda verlo. Asimismo, hay un archivo.git/info/exclude
que 'excluye' archivos / directorios del proyecto, tal como lo.gitignore
haría un archivo.fuente
Acabo de tener este problema y el problema era que estaba dentro de un directorio y no en el nivel superior. Una vez que me mudé al nivel superior, funcionó.
fuente
git add ..
o lo que sea necesario para llegar al nivel en el que existían mis cambios y también habría funcionado. Esto es solo un problema de gotcha aquí (mi error de usuario).Lo mejor es copiar su carpeta. Elimina el original. Clone el proyecto desde github, copie sus nuevos archivos en la nueva carpeta clonada y vuelva a intentarlo.
fuente
Tuve este problema con el primer programa de la carpeta. Hice "git add" y luego "git commit". "git status" dio el error descrito, es decir, "nada que confirmar, directorio de trabajo limpio"
Terminé eliminando el archivo .git de la carpeta del programa. Luego hice un nuevo git init, git add y git commit y funcionó.
fuente
cd
a la carpetagit add
del archivo.¿Qué tal el procedimiento estándar?
Esto agregará la carpeta y todos sus archivos con un solo comando.
Tenga en cuenta que git no puede almacenar carpetas vacías.
Si la confirmación no funcionó, probablemente el primer lugar que debe verificar es
.gitignore
.fuente
Aquí puede encontrar una respuesta al mismo problema:
Básicamente, en este caso, el problema fue que global_git ignore
fuente
En mi caso, el problema fue la opción SafeCrLf habilitada. Estoy en windows con tortuga git. Después de deshabilitar la opción, agregar los archivos ya no era un problema.
fuente
Otro problema pueden ser los permisos de archivos. Intente emitir:
chmod 755 file1
fuente
Solución tonta de mi parte, pero pensé que no estaba agregando y presionando nuevos archivos porque github.com no mostraba los archivos que acababa de presionar. Había olvidado que los archivos que agregué estaban en una rama diferente. Los archivos se habían empujado bien. Tuve que cambiar de mi rama maestra a la nueva rama en github para verlos. Perdí unos minutos en ese :)
fuente
Es imposible (para mí) agregar el primer archivo a un repositorio vacío clonado desde GitHub . Debe seguir el enlace README, que GitHub sugiere crear. Después de crear su primer archivo en línea , puede trabajar normalmente con git.
Esto me pasó el 17 de noviembre de 2016.
fuente
Todavía soy un principiante en git, y fue solo un error estúpido que cometí, una larga historia en una oración. No estaba en una subcarpeta como informó @gaoagong, sino al revés, en una carpeta principal. Por extraño que parezca, no obtuve la idea de esa respuesta, en cambio, la idea surgió cuando probé
git add --all
, vea la larga historia a continuación.Ejemplo en detalles. Repo real:
La carpeta principal que había abierto por error en el nivel principal (vscode_git en mi caso):
Había clonado un repositorio, pero tenía una carpeta principal por encima de este repositorio que había abierto en su lugar, y luego intenté agregar un archivo del repositorio de la subcarpeta con
git add 'd:\Stack Overflow\vscode_git\vscode-java\.github\ISSUE_TEMPLATE.md'
, que simplemente no hizo nada, sin mensaje de advertencia, ygit status
luego dijo:Correr
git add --all
me dio las notas amarillas:Para solucionar esto, revirtí el
git add --all
congit rm --cached -r -f -- "d:\Stack Overflow\vscode_git\vscode-java" rm 'vscode-java'
:Luego, simplemente abriendo la carpeta de repositorio real en su lugar,
el git volvió a funcionar como se esperaba. Por supuesto, la carpeta ".git" de la carpeta principal podría eliminarse entonces:
fuente
Puede eliminar de forma recursiva el repositorio inicializado de git
$cd repo added $git rm -rf git
Puede crear una rama separada y vincular los submódulos a la rama maestra La documentación sobre los submódulos es realmente útil Documentación [https://git-scm.com/book/en/v2/Git-Tools-Submodules]
También vea algunas soluciones en [/programming/36236484/maintaining-a-git-repo-inside-another-git-repo]
fuente
Busqué por un tiempo y terminé descubriendo que había bloqueado el puerto SSH, que fue lo que causó que el comando git add dejara de funcionar. Terminé cambiando el origen usando https con el siguiente comando: git remote set-url origin [url-to-git-repo]
fuente
Sé que esta es una pregunta muy antigua, pero sé que también le puede pasar a alguien, resulta que estaba trabajando con un archivo llamado AUX.JS y este es un nombre de archivo reservado para Windows, esto produjo el siguiente error
para que pueda eliminar el archivo o cambiarle el nombre, entonces funcionará.
Conclusión final, además de todas las demás respuestas válidas, si está en una máquina con Windows, busque el resultado del comando 'git add', que también puede proporcionar información adicional.
fuente
Tuve el mismo problema con un repositorio que cloné de SiteGround Git a mi mac. El repositorio recién clonado tenía una lista de archivos modificados que
git status
decían que debían agregarse a la confirmación, pero intentar agregar o retirar alguno de ellos no hizo nada en absoluto.Por alguna razón, hubo cambios de casos en los nombres de los archivos (por ejemplo, .jpg -> .JPG). La solución fue simplemente
git mv
el nombre de archivo que el sistema operativo estaba usando con el nombre que estaba usando git, por ejemplo:fuente
Recientemente experimenté este problema en mi computadora con Windows 7. Estoy usando la interfaz de la ventana de comandos git. La solución fue tener mucho cuidado con la distinción entre mayúsculas y minúsculas de los nombres de archivos y directorios al hacer el git add. Aunque git no se quejaba cuando el caso no coincidía exactamente con el caso de los nombres de directorio y archivo del sistema de archivos de Windows, tampoco agregaba los archivos. No habría nada que comprometer. Una vez que escribí los nombres de los archivos con el caso exactamente correcto, se agregarían y se enumerarían debajo de los cambios que se confirmarán como pretendía.
fuente
Tenía este problema en Visual Studio, lo que funcionó para mí fue: 1- Haga clic derecho en el archivo agregado que no está siendo reconocido por git. 2- Seleccione "Agregar archivo excluido al control de fuente"
fuente
Tuve el mismo problema y fue porque había un programa que usaba algún archivo y git arroja un error en este caso, Visual Studio había bloqueado ese archivo.
fuente
Tuve un problema por el cual los archivos de una carpeta no se agregarían al control de fuente de Github. Para resolver eso, eliminé la carpeta .git que se creó en esa carpeta.
fuente
Tuve un problema similar.
El problema fue que, en Windows, en el índice, el archivo se agregó en un caso diferente al que estaba en el área sin etapas. Por ejemplo, en el índice, el archivo era nombre
xx.txt
y en el área sin etapas, el archivo era nombresXx.txt
.Se eliminó el archivo con el caso incorrecto del índice (
xx.txt
). Luego, he podido agregar el archivo con el caso correcto (Xx.txt
).fuente
El problema git no agregaría un archivo modificado. Usando git bash, había cambiado la carpeta delimitando el nombre de la carpeta con comillas dobles. Muestra el contenido de la carpeta correctamente, pero git no agrega archivos modificados.
Solución Utilicé la comilla simple para delimitar el nombre de la carpeta.
por ejemplo, CD "Nombre de carpeta", estado de git, nada para confirmar, CD limpio de árbol de trabajo .. ls 'Nombre de carpeta' CD 'Nombre de carpeta' estado de git modificado: ModifiedFileName.bat
fuente
Probé todo lo anterior pero nada funcionaba. Más tarde, ejecuté mi símbolo del sistema como administrador y volví a intentar todas las etapas, es decir, puesta en escena-> compromiso-> adición remota -> empujando. Funcionó como una magia. Los cambios se reflejaron en el repositorio remoto deseado.
Espero que ayude :) Mantenga la calma y siga codificando.
PD: Soy una abeja nueva y trato de aprender del error.
fuente
Lo mismo me sucedió cuando cambié el nombre de un archivo entre
Uppercase/Lowercase
. Por lo tanto, el cambio de nombre de archivo temporal podría solucionar el problema.fuente
En tales casos, verifique las reglas en el archivo .gitignore global y asegúrese de que su carpeta no se ajuste a ellas.
fuente
Así es como hice que el mío funcionara:
Empecé por
dentro del directorio con todos los archivos / carpetas que quería incluir.
Yo corrí
LUEGO
Hice otro directorio fuera del origen, me mudé a ese directorio, luego cloné el repositorio de git existente usando el archivo http: //../../.git como se establece en la página en github.
Una vez que clonó la fuente (que no tenía más que un readme.md), copié todos los archivos del directorio antiguo en el nuevo con
Luego agregué nuevamente, y luego comprometí y empujé esas ediciones.
No me preguntes por qué, pero esta vez se subieron al sitio de github y aparecieron como archivos a los que puedes acceder en el tarball .zip.
fuente