Capítulo 5 Ruby on Rails tutorial – Git merge throwing error

Ejecuté los siguientes commands

$ bundle exec rake test $ git add -A $ git commit -m "Finish layout and routes" $ git checkout master $ git merge filling-in-layout 

después de ejecutar el último command "fusionar" arroja el siguiente error:

 error: Your local changes to the following files would be overwritten by checkout: spring/50c4ccb1d8f630979e84c03ba14676d1.pid Please, commit your changes or stash them before you can switch branches. Aborting My .gitignore file is as follows : # Ignore bundler config. /.bundle # Ignore the default SQLite database. /db/*.sqlite3 /db/*.sqlite3-journal # Ignore all logfiles and tempfiles. /log/* !/log/.keep /tmp # Ignore Spring files. /spring/*.pid 

No vi los files fusionados, también no puedo volver a la twig – relleno en el layout. La aplicación dejó de funcionar en el server de Ide en la nube.

Por favor, arroja algo de luz sobre lo mismo.

Prueba ejecutar:

 git checkout spring/50c4ccb1d8f630979e84c03ba14676d1.pid 

Y luego intente fusionar twigs de nuevo.

 git merge filling-in-layout 

Sus cambios locales al file spring/50c4ccb1d8f630979e84c03ba14676d1.pid dan este error.

Puede haber algún problema con su file .gitignore . Porque ya tiene /spring/*.pid en su file gitignore pero todavía está revisando este file. Podría ser su compromiso anterior tener este file.

El process de spring probablemente fue demasiado grande. Yo tuve el mismo problema.

puedes usar pkill -15 -f spring

y aquí hay más información de https://www.railstutorial.org/book/static_pages

En sistemas tipo Unix como Linux y OS X, las tareas del usuario y del sistema se llevan a cabo dentro de un contenedor bien definido llamado process. Para ver todos los processs en su sistema, puede usar el command ps con las opciones auxiliares:

$ ps aux Para filtrar los processs por tipo, puede ejecutar los resultados de ps a través de grep pattern-matcher utilizando un conducto de Unix |:

$ ps aux | grep spring ubuntu 12241 0.3 0.5 589960 178416? Ssl Sep20 1:46 aplicación de spring | sample_app | comenzó hace 7 horas El resultado que se muestra da algunos detalles sobre el process, pero lo más importante es el primer número, que es el ID del process o pid. Para eliminar un process no deseado, use el command kill para emitir el código Unix kill (que pasa a ser 9) para el pid:

$ kill -15 12241 Esta es la técnica que recomiendo para matar processs individuales, como un server Rails deshonesto (con el pid encontrado a través del server ps aux | grep), pero a veces es conveniente eliminar todos los processs que coinciden con un nombre de process en particular, como cuando quieres matar a todos los processs de spring que destruyen tu sistema. En este caso particular, primero debe intentar detener los processs con el command de resorte en sí:

$ spring stop A veces esto no funciona, sin embargo, y puedes eliminar todos los processs con el nombre spring utilizando el command pkill de la siguiente manera:

$ pkill -15 -f spring Cada vez que algo no se comporta como se esperaba o un process parece estar congelado, es una buena idea ejecutar ps aux para ver qué está sucediendo, y luego ejecutar kill -15 o pkill -15 -f para aclarar las cosas.

Llego muy tarde a la solución, supongo, pero estaba teniendo el mismo problema. Resultó que estaba ejecutando la testing de guardia que estaba dando el error de file de spring. Solo sal del menu de guardia y luego usa git commit -am "anything you want"