Mensaje de error de Git Visual Studio 2015 "No se puede extraer / cambiar porque hay cambios no confirmados"

Estoy teniendo dificultades para ejecutar el empuje desde el origin . Sigo recibiendo:

"Es imposible retirarlo porque hay cambios no confirmados. Realice o cancele los cambios antes de retirarse nuevamente. Para obtener más información, consulte la ventana" Salida ".

Esto también se aplica al cambio de rama. Recibo un mensaje similar, pero esto no siempre sucede.

Uso Visual Studio 2015 Update 1 y Visual Studio Team Services Git. En mi máquina, tengo una rama master local y una rama de desarrollo. Cada vez que cambio a master y luego hago antojos, aparece un mensaje de error. Recurrí a esconderme y soltar escondite (línea de comando), y algunas veces uso TortoiseGit para hacer el deseo, y funciona.

Lo que es extraño, incluso si intento regresar (a archivos no confirmados) utilizando TortoiseGit, muestra que se restauró con éxito (ya intenté cancelar Visual Studio, no sucede nada). Intentar sacarlo de nuevo sigue siendo el mismo problema. Habrá archivos no confirmados y, a veces, cuando hago el git status dice que no hay nada que cometer.

Solo una nota: esto puede suceder incluso después de cambiar de rama a master . En este caso, no puede haber cambios sin fijar, porque no pude cambiar en primer lugar.

Todavía soy nuevo en Git, pero me gustaría saber si hay una mejor manera de resolver este problema, ya que me gustaría usar el mismo entorno en lugar de cambiar entre diferentes entornos para cada tarea; Es más fácil para mí hacer todo desde Visual Studio. Ya he leído:

TFS / GIT en VS No se puede cambiar a maestro, porque hay cambios no confirmados

ACTUALIZACIÓN

Parece que este problema está conectado con el final de la línea.

git diff -R verá que se agrega el final de la línea, "^ M", y es diferente. Eliminar * text=auto en gitattributes (luego verificar los cambios) y volver a habilitarlo, de modo que gitattributes no señale un cambio en sí mismo, que debería ser fijo, no parece ayudar, no habrá ningún cambio.

47
15 апр. establecido por kwiri 15 abr. 2016-04-15 15:34 '16 a las 3:34 pm 2016-04-15 15:34
@ 12 respuestas

Para mí, no tuve ningún cambio no confirmado ni ningún archivo sin seguimiento, y Visual Studio 2015 todavía presentaba una advertencia.

  1. Cierre la solución en Visual Studio, salga de Visual Studio.
  2. Abre Git Bash (o tu interfaz de usuario de Git favorita)
  3. Vaya a su repositorio (o abra el repositorio utilizando la interfaz Git)
  4. git pull (o tire de Git UI)
  5. Hay una combinación (con suerte no hay conflictos, como en mi caso), vi abre (o la herramienta de resolución de combinación predeterminada)
  6. :wq luego presione ENTER en vi (o procese con calma la herramienta de combinación que pueda aparecer a voluntad), y espero que esto se resuelva, igual que yo.
  7. Inicia Visual Studio 2015, abre el proyecto.

Agregué un paso a paso más seguro, dando instrucciones para cerrar y abrir la solución y Visual Studio. Esto puede ser demasiado cauteloso, y tal vez un reinicio sea suficiente. Este síntoma puede ser un error en la integración con Visual Studio Git y puede eliminarse en el futuro.

55
23 мая '16 в 2:14 2016-05-23 02:14 la respuesta es Csaba Toth el 23 de mayo de '16 a las 2:14 2016-05-23 02:14

Ingrese el git status en la línea de comandos abierta en este directorio. Si hay un texto rojo y / o verde, ha cambiado algunas cosas y no las ha agregado o solucionado. Devuelva los archivos (ejecutando git checkout -- <file> ), o agregue y confirme (ejecutando git add --all , luego git commit -m "commit message" ). Luego puedes revisar las ramas o alguna otra cosa que quieras hacer.

border=0
9
15 апр. Responder TechnicalTophat 15 de abril 2016-04-15 15:38 '16 a las 3:38 pm 2016-04-15 15:38

Intente ejecutar estos comandos yendo al directorio de trabajo del proyecto en la línea de comandos.

 git add -A git commit -m "your message" git fetch origin master git pull origin master git push origin master //To push to the Git system 
8
15 апр. Respuesta dada por Dhruv el 15 de abril. 2016-04-15 15:55 '16 a las 3:55 pm 2016-04-15 15:55

Este problema generalmente ocurre cuando existe un archivo / cambio que no se confirmó localmente, pero se incluyó en la acción de pago.

Por ejemplo, agrega un nuevo archivo "test.txt" directamente desde la carpeta del repositorio Git local (fuera de Visual Studio). Este archivo se puede especificar en el parámetro "Archivos de no seguimiento", por lo tanto, cuando los cambios se confirman, este archivo no se rastrea y no se corrige. Y luego la otra persona también crea "test.txt" con la misma ruta, lo corrige y lo empuja. Ahora, cuando realiza una acción de extracción, el archivo "test.txt" se incluye en la acción de extracción, y recibirá un mensaje de error que indica que hay cambios no confirmados. Por lo tanto, debe comprobar si tiene algún archivo / cambio que no se haya confirmado y corregirlo antes de extraerlo.

6
18 апр. La respuesta la da Eddie Chen - MSFT 18 de abril. 2016-04-18 06:20 '16 a las 6:20 2016-04-18 06:20

A veces me pasa incluso a mí. Si está utilizando Visual Studio, hay una manera fácil de aclarar su ruta.

Para Visual Studio 2013 y versiones posteriores, siga estas instrucciones, ya que me funciona:

  • Vaya a HerramientasPackage Manager NuGetPackage Manager Console .
  • Escribe git reset y presiona Enter.

Es Git se reiniciará, y luego podrá obtener su solicitud fácilmente.

VS2015: Herramientas> Package Manager Nuget> Package Manager Console. Trabajó como un encanto. Gracias

1
24 апр. Respuesta dada por Yagnesh Khamar el 24 de abril. 2018-04-24 19:18 '18 a las 7:18 pm 2018-04-24 19:18

Tuve este problema en Visual Studio 2017, compilación 15.5, y lo que me arregló fue ir a "Configuración de Team Explorer" → "Configuración global" y establecer "Acortar sucursales remotas durante la selección" y "Reubicar sucursales locales al extraer "que significa" verdad " .

2019

13 янв. La respuesta la da el usuario1431356 13 de enero. 2018-01-13 03:49 '18 a las 3:49 2018-01-13 03:49

También tuve este problema. Una solución simple fue que elegí Comprometer para resolver para ver archivos no confirmados (o Team Explorer → Cambios fácilmente utilizados).

Luego cancelo cada archivo con el botón derecho del ratón. Solía ​​probarlo con Deshacer en la solución completa, pero no funcionó correctamente. Luego usé Team Explorer → Sync → Pull de nuevo, y funcionó.

1
16 мая '18 в 9:16 2018-05-16 09:16 La respuesta fue dada por Elnaz el 16 de mayo de '18 a las 9:16 ; 2018-05-16 09:16

Para mí, "Actualizar" en la pregunta fue la respuesta. Agregué el archivo .gitattributes a la raíz de mi repositorio e incluí solo lo siguiente, por lo que el final de las líneas se normalizará solo cuando el archivo sea texto.

 *.txt text *.html text *.css text *.js text # These files are text and should be normalized (Convert crlf => lf) *.gitattributes text .gitignore text *.md texttesting 
0
02 нояб. La respuesta es dada por Josh 02 nov. 2017-11-02 22:47 '17 a las 10:47 pm 2017-11-02 22:47

Para mí, este problema fue causado por la presencia de dos archivos, "Web.Config" y "web.config". Creo que esto es normal en Linux / Unix, pero Windows solo puede almacenar uno de ellos localmente. Descubrí esto en devopas azules examinando archivos. He eliminado uno de ellos, y el problema fue resuelto. Creo que este problema puede ser causado por cualquier archivo.

0
11 окт. Respuesta dada por Emil Helldin el 11 de octubre. 2018-10-11 10:18 '18 a las 10:18 pm 2018-10-11 10:18

Funciono para mi Acabo de ir al directorio del proyecto y verifico si hay algo

 git status 

Entonces realicé la tracción por

 git pull 

Luego reinicié Visual Studio 2015 y saqué la rama que causó este error. Esta vez, no hay problema. Parece que esto fue un error en Visual Studio 2015. Solo ocurre cuando deshaces los cambios antes de revisar los cambios nuevos. El mismo problema no parece existir en Visual Studio 2017.

0
16 авг. Respuesta dada por Rachit Chauhan 16 ago. 2018-08-16 07:54 '18 a las 7:54 2018-08-16 07:54

Aquí están los pasos que seguí:

  1. Consulte la ruta del archivo no confirmado en la ventana de salida
  2. Siga esta ruta y elimine este archivo de la carpeta.
  3. Deseche los cambios de Team Explorer a Visual Studio para agregarlos nuevamente.
0
17 авг. respuesta dada por CSharp 17 ago. 2017-08-17 21:15 '17 a las 21:15 2017-08-17 21:15

En Visual Studio abra la Output Window y cambie " Show output from a" Source Control - git , git le dirá qué lo detiene. Por supuesto, una de las razones más comunes podría ser algo como esto:

 The pull would overwrite your local changes to the following 44 files: <Here you can probably see a list of 44 files> 

Esto simplemente significa que se han agregado 44 archivos al repositorio remote que no forman parte del repositorio local . Abre Git Bash y ejecuta este comando:

 git add * 

Esto puede resolver el problema o provocar un error como este:

 $ git add * The following paths are ignored by one of your .gitignore files: TestResults Use -f if you really want to add them. 

Si está seguro de que los está agregando al repositorio local , simplemente agréguelos con git add * -f o elimine los archivos agregados erróneamente con el remote .

Espero que esto ayude.

0
18 окт. Babak publicado el 18 de octubre 2018-10-18 07:02 '18 a las 7:02 am 2018-10-18 07:02