Estoy usando Git solo para mi proyecto de software local en Visual Studio 2010. Recientemente creé una nueva rama para hacer una refacturación más grande de una de las ventanas de diálogo . Hice las siguientes modificaciones:Error de Git no resuelto: los siguientes archivos de árbol de trabajo sin seguimiento se sobrescribirán con el pago
- cambiar el nombre de Form1 para Form1a (incluyendo todos los archivos en función )
- Añadir nuevo Form1
he comprobado este cambio en la rama, digamos forma refactorización. Curiosamente, Git no se dio cuenta de que renombré el archivo Form1.cs en Form1a.cs y creé un Form1.cs totalmente nuevo y totalmente diferente, pero noté un nuevo archivo Form1a.cs y encontré muchas diferencias entre los archivos Form1.cs anteriores y nuevos. Esto conducirá, por supuesto, a diffs totalmente guarnecidos, pero no me importa en este caso, siempre y cuando todos los archivos se manejen correctamente al final.
Luego cambié de nuevo a maestro para hacer algunos otros pequeños cambios. Nada en conflicto. Hasta ahora, todo funcionó bien.
Hoy, quería volver a la forma de refactorización de mi sucursal para continuar ese trabajo. Pero todo lo que obtengo es el siguiente mensaje:
git.exe checkout form-refactoring
Aborting
error: The following untracked working tree files would be overwritten by checkout:
Form1.Designer.cs
Please move or remove them before you can switch branches.
¿Qué se supone que es? El archivo mencionado no está sin seguimiento. Ni en la rama principal, ni en la rama de refactorización de formularios. Es parte de ambas ramas, pero una no es descendiente de la otra. ¿Qué pasaría si lo borro, se ha ido para siempre? No confío en que Git me devuelva el archivo correcto si borro algo ahora. No jugué con ningún archivo fuera de las operaciones mencionadas de Git, entonces ¿por qué debería jugar con cualquier archivo para continuar usando las operaciones de Git ahora? ¡Git lo rompió, se supone que Git debe manejarlo ahora!
En este momento, no puedo continuar con mi trabajo porque no puedo cambiar de rama. ¿Hay una solución fácil para esto?
La versión de Git es 1.7.6, TortoiseGit es 1.7.3.
qué te sucede que tiene un patrón que coincida con Form1.Designer.cs en su .gitignore o cualquier otro ignorar las configuraciones? – James
Ese archivo tiene una marca verde en el Explorador y también tiene un historial. Entonces supongo que no es ignorado. Además, hay otros archivos Form.Designer.cs en mi proyecto que no causan ningún problema. Y este no es el primer repositorio de Git que creé con VS2010, hasta hoy, incluso algunos esfuerzos en la ramificación funcionaron bien. – ygoe
Comprueba dos veces tus filtros de ignorar para ver si cambiaron para ese repositorio o rama. Todavía puede ver el estado y el historial en un archivo si se agregó antes del filtro de ignorar.Cualquier cosa que use el estado de git lo reportará (como las marcas de verificación del explorador). Esto puede causar el error que está indicando si realmente hay cambios en el archivo porque Git lo ignorará cuando ejecute el estado de Git. Sin embargo, Git aún sabrá que cambió al intentar hacer un pago y le dará ese error. – James