Cómo lidiar con gems y packages bifurcados

He bifurcado una gem y está alojada en Github .

Luego, en Gemfile esto es lo que tengo:

gem 'mongoid-scroll', git: 'https://github.com/bgvo/mongoid-scroll.git'

Cada vez que realizo cambios en la gem usando el command Pry gem-opem , los cambios se guardan en el siguiente directory:

/Users/borjagvo/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/bundler/ruby/2.1.0/bundler/gems/

Algunas cosas me confunden:

1) En este directory hay dos gems mongoid-scroll ( mongoid-scroll-7e23e72653c6 y mongoid-scroll-23bc60ce76bd ) en lugar de solo una. Pensé que las gems dentro de este directory eran las gems usadas al ejecutar bundler. ¿Cómo determina bundler que esta es la que se usa y no la otra?

2) Si bash presionar cambios al repository de Github:

 Borjas-MacBook-Pro:mongoid-scroll-7e23e72653c6 borjagvo$ git push Counting objects: 10, done. Delta compression using up to 8 threads. Compressing objects: 100% (9/9), done. Writing objects: 100% (10/10), 1.00 KiB | 0 bytes/s, done. Total 10 (delta 6), reused 0 (delta 0) To /Users/borjagvo/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/bundler/ruby/2.1.0/cache/bundler/git/mongoid-scroll-f814a84d6332ef5d28cf5db04da93b434e01f07b d8f9f91..696bdce master -> master 

Veo que el repository de Github no es donde se cargan los cambios. Ejecutando git config --get remote.origin.url para ver el origen:

 Borjas-MacBook-Pro:mongoid-scroll-7e23e72653c6 borjagvo$ git remote show origin * remote origin Fetch URL: /Users/borjagvo/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/bundler/ruby/2.1.0/cache/bundler/git/mongoid-scroll- f814a84d6332ef5d28cf5db04da93b434e01f07b Push URL: /Users/borjagvo/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/bundler/ruby/2.1.0/cache/bundler/git/mongoid-scroll- f814a84d6332ef5d28cf5db04da93b434e01f07b HEAD branch: master Remote branch: master tracked Local branch configunetworking for 'git pull': master merges with remote master Local ref configunetworking for 'git push': master pushes to master (up to date) 

¿Cuál es una buena manera de cargar cambios en el repository bifurcado en Github de la gem usada bundler (recuerde que estoy usando el command Pry gem-open ).

Gracias.

Gemfile.lock debería saber qué joya cargar, cuando haces la actualización del set o la installation de una nueva gem, Gemfile.lock también se actualizará con nuevas gems, routes, etc. y también el hash de revisión.

El hash al final de la Fetch/Push URL que ve cuando ejecuta git remote show origin debe ser igual a la revision de Gemfile.lock.

Por ejemplo, en mi caso con gem active-admin en Gemfile.lock tengo:

 GIT remote: git://github.com/gregbell/active_admin.git revision: b7e8c7dde2c26a47e5db0dd1efc163405afadd9d specs: activeadmin (1.0.0.pre) ... 

incluso si tengo 2 gems de administrador activo, solo hay una con revisión: b7e8c7dde2c26a47e5db0dd1efc163405afadd9d

Sin embargo, trabajando con tenedores, esto es lo que hago:

Usualmente lo bifurco, jalo la gem Froked en mi computadora, actualizo el Gemfile de mi aplicación para usar la gem del almacenamiento local con el parámetro path , y puedo actualizar la gem sin presionarla a github cada vez que hago un pequeño cambio solo para Pruébalo.

Cuando lo hago funcionar como lo necesitaba, lo presiono a github y cambio la ruta en Gemfile de mi aplicación, ejecuto el package nuevamente para actualizar la ruta Gemfile.lock y estoy listo. Al less aquí no está confundido qué joya está cargando la aplicación.