git: no se puede elegir

Estoy atrapado en un bucle extraño mientras trato de elegir. Esto es lo que hago, y dónde está el problema.

Tengo dos twigs: mainline y temp . Quiero seleccionar cuidadosamente un compromiso específico de la línea principal a la temperatura. Estoy haciendo esto de la siguiente manera.

  1. git checkout temp
  2. git cherry pick <commit sha>
  3. Ahora, obtengo: Segmentation fault: 11
  4. Vuelvo a ejecutar el command desde 2) y obtengo: Unable to create ...git/index.lock': File exists

    =============================================== ==================

  5. Ahora ejecuto rm -f ./.git/index.lock

  6. Inténtalo de nuevo git cherry pick <commit sha>

  7. Ahora entiendo esto:

    error: los siguientes files de tree de trabajo sin seguimiento se sobrescribirán mediante merge: myfile.java

… para un file que ni siquiera está allí. Lo tenía antes, pero lo renombré, por lo que el file con ese nombre no está en un repository.

  1. git status y ahora veo el file myfile.java en files sin seguimiento . Y ahora incluso aparece en el editor. Puedo eliminarlo del editor, pero no puedo eliminarlo del repository de git. Obtengo pathspec 'myfile.java' did not match any files
  2. OK, entonces borro el file del editor, vuelvo a ejecutar cherry-pick y vuelvo al paso 3) .

¿Qué está pasando aquí, y cómo puedo hacer mi selección de cerezas? :RE

No sé por qué tiene una falla de segmentación. Sugiero que te asegures de trabajar con la última versión de git.

Una forma diferente de cherry pick sería crear un parche a partir del commit y aplicarlo:

 git checkout temp git format-patch -1 <commit sha> git apply 0001.....patch 

Actualizando a homebrew git 2.11.1 me arregló el problema.

En function de los posts de salida y el dialog sobre esta request de extracción para git-for-windows que se generó posteriormente en sentido ascendente, y esta refresh_cache_entry() de refresh_cache_entry() aparece, por algún motivo, el valor de retorno de refresh_cache_entry() es nulo, lo que causa la falla de segmentación (en mi caso, los paths en los que me estaba guiando no existen en la twig en la que estoy)

Esto es lo que sucedió para mí:

 $ git cherry-pick d4c26fc1 Segmentation fault: 11 $ git cherry-pick --abort error: no cherry-pick or revert in progress fatal: cherry-pick failed $ rm .git/index.lock $ brew upgrade git Updating Homebrew... ... ==> Summary 🍺 /usr/local/Cellar/git/2.11.1: 1,456 files, 32.4M $ git cherry-pick d4c26fc1 error: addinfo_cache failed for path 'foo/bar/baz' error: could not apply d4c26fc... Some commit subject hint: after resolving the conflicts, mark the corrected paths hint: with 'git add <paths>' or 'git rm <paths>' hint: and commit the result with 'git commit'