tag sobrescritos siguientes serán ramas practices los locales fusionar error commits cambios best archivos git homebrew

git - sobrescritos - brew update: la siguiente fusión sobrescribiría los siguientes archivos del árbol de trabajo sin seguimiento:



git tag commits (5)

Intenté ejecutar brew update y recibo un error sobre mis cambios locales que se perderían si los fusionara. Intenté realizar mis cambios locales (no recuerdo haber hecho ninguno, pero ha pasado un tiempo), y eso empeoró las cosas.

Aquí está la salida:

MBP:Library User$ sudo brew update error: The following untracked working tree files would be overwritten by merge: Library/Aliases/fastcgi Library/Aliases/htop Library/Aliases/nodejs Library/Aliases/ocio Library/Aliases/oiio Library/Aliases/pgrep Library/Aliases/pkill Library/Contributions/cmds/brew-beer.rb Library/Contributions/cmds/brew-dirty.rb Library/Contributions/cmds/brew-graph Library/Contributions/cmds/brew-grep Library/Contributions/cmds/brew-leaves.rb Library/Contributions/cmds/brew-linkapps.rb Library/Contributions/cmds/brew-man Library/Contributions/cmds/brew-mirror-check.rb Library/Contributions/cmds/brew-missing.rb Library/Contributions/cmds/brew-pull.rb Library/Contributions/cmds/brew-readall.rb Library/Contributions/cmds/brew-server Library/Contributions/cmds/brew-services.rb Library/Contributions/cmds/brew-switch.rb Library/Contributions/cmds/brew-test-bot.commit.html.erb Library/Contributions/cmds/brew-test-bot.css Library/Contributions/cmds/brew-test-bot.index.html.erb Library/Contributions/cmds/brew-test-bot.rb Library/Contributions/cmds/brew-tests.rb Library/Contributions/cmds/brew-unpack.rb Library/Contributions/cmds/brew-which.rb Library/Contributions/install_homebrew.rb Library/Formula/abcl.rb Library/Formula/abyss.rb Library/Formula/akka.rb Library/Formula/apollo.rb Library/Formula/appledoc.rb Library/Formula/arangodb.rb Library/Formula/autoconf.rb Library/Formula/automake.rb Library/Formula/avidemux.rb Library/Formula/bind.rb Library/Formula/bsdconv.rb Library/Formula/bsdmake.rb Library/Formula/camellia.rb Library/Formula/cbmbasic.rb Library/Formula/cdo.rb Library/Formula/checkstyle.rb Library/Formula/cifer.rb Library/Formula/clhep.rb Library/Formula/collada-dom.rb Library/Formula/crash.rb Library/Formula/crossroads.rb Library/Formula/css-crush.rb Library/Formula/curlftpfs.rb Library/Formula/dart.rb Library/Formula/dasm.rb Library/Formula/dfc.rb Library/Formula/di.rb Library/Formula/dsniff.rb Library/Formula/dupx.rb Library/Formula/dwatch.rb Library/Formula/eprover.rb Library/Formula/ext2fuse.rb Library/Formula/ezlupdate.rb Library/Formula/f3.rb Library/Formula/fastx_toolkit.rb Library/Formula/fceux.rb Library/Formula/findbugs.rb Library/Formula/freerdp.rb Library/Formula/funcoeszz.rb Library/Formula/fwknop.rb Library/Formula/gabedit.rb Library/Formula/gbdfed.rb Library/Formula/gconf.rb Library/Formula/git-encrypt.rb Library/Formula/glm.rb Library/Formula/gmap-gsnap.rb Library/Formula/gnu-arch.rb Library/Formula/gnunet.rb Library/Formula/gobby.rb Library/Formula/gptfdisk.rb Library/Formula/griffon.rb Library/Formula/grok.rb Library/Formula/gtk-chtheme.rb Library/Formula/gtkglextmm.rb Library/Formula/gtmess.rb Library/Formula/hg-flow.rb Library/Formula/hqx.rb Library/Formula/htop-osx.rb Library/Formula/htpdate.rb Library/Formula/imap-uw.rb Library/Formula/iozone.rb Library/Formula/ipbt.rb Library/Formula/ipe.rb Library/Formula/ispc.rb Library/Formula/ispell.rb Library/Formula/jigdo.rb Library/Formula/jing.rb Library/Formula/jless.rb Library/Formula/jpeginfo.rb Library/Formula/konoha.rb Library/Formula/legit.rb Library/Formula/libcouchbase.rb Library/Formula/libcuefile.rb Library/Formula/libextractor.rb Library/Formula/libglademm.rb Library/Formula/libgtextutils.rb Library/Formula/libinfinity.rb Library/Formula/libkate.rb Library/Formula/libqalculate.rb Library/Formula/libqglviewer.rb Library/Formula/libreplaygain.rb Library/Formula/libtool.rb Library/Formula/libvbucket.rb Library/Formula/libvo-aacenc.rb Library/Formula/libxmi.rb Library/Formula/lifelines.rb Library/Formula/makeicns.rb Library/Formula/mathgl.rb Library/Formula/meld.rb Library/Formula/mesalib-glw.rb Library/Formula/minisat.rb Library/Formula/minuit2.rb Library/Formula/mobile-shell.rb Library/Formula/movgrab.rb Library/Formula/mp3cat.rb Library/Formula/mpich2.rb Library/Formula/mrfast.rb Library/Formula/musepack.rb Library/Formula/ndiff.rb Library/Formula/net6.rb Library/Formula/nrpe.rb Library/Formula/nuttcp.rb Library/Formula/oath-toolkit. Updating aa07533..3f070ef Aborting Error: Failed while executing git pull origin refs/heads/master:refs/remotes/origin/master


Este enfoque puede ser más simple que algunos. Implica:

  • solucionando un problema de git para que pueda delegar la administración de cambios nuevamente.
  • No hay movimientos manuales de archivos o directorios.
  • No hay ajustes manuales de permisos de archivo o directorio.

Pasos (con notas para quienes quieran explicaciones):

cd $(brew --repository) // see Note 1 below git remote add brew https://github.com/Homebrew/brew // see Note 2 below git pull brew master // promising fast-forward report! brew update // see Note 3 below

Visión general:
Por lo que puedo decir, la causa real de este problema es un cambio en la url de repositorio. Ahora es brew y fue brew.git . (Url completo y actualizado: https://github.com/Homebrew/brew )

Nota 1: Este primer comando lo lleva desde cualquier lugar de su estructura de archivos al directorio correcto. La estructura del directorio es diferente para mí de lo que otros muestran arriba (Mac OS 10.11.16), pero con este comando, esas diferencias no deberían importar.

Nota 2: este segundo comando agrega la url remota correcta a un nuevo alias; Lo hice en caso de que este enfoque no lograra lo que quería y volviera a necesitar la dirección anterior. Dado que el nuevo control remoto funcionó, invitaré a otra persona a comentar sobre el simple cambio de la dirección de alias por origen. Con gusto actualizaré la respuesta para reflejar lo que funcionó para usted.

Nota 3: Este cuarto comando tiene exactamente el resultado deseado: informa una gran cantidad de actualizaciones, incluido el informe particularmente bueno de "==> ¡HOMEBREW_REPOSITORY migrado a / usr / local / Homebrew!" (énfasis suyos).


Estoy agregando mi experiencia personal, ya que parece un poco más seguro que lo propuesto en 2012:

  1. Ejecutar brew doctor .
  2. Si recibe la siguiente advertencia:

    Warning: The /usr/local directory is not writable.

    correr:

    sudo chown -R `whoami` /usr/local

    para solucionar los problemas de permisos (como lo sugiere también Chris Frisina). Finalmente, ejecute brew doctor nuevamente para asegurarse de que la advertencia se haya ido.

  3. Ahora, deberías tener un

    Warning: You have uncommitted modifications to Homebrew

    que puede ser solucionado por bey

    cd /usr/local/Library && git stash && git clean -d -f

    como lo sugiere el propio Dr.Brew. El comando guarda las modificaciones no confirmadas para que pueda regresar y recuperarlas si es necesario. Parecía más seguro que el git reset --hard origin/master para mí.

  4. Si lo desea, consulte la guía de solución de problemas oficial si los pasos sugeridos aquí y por otros usuarios de SO no resuelven su problema.


No te olvides de buscar el origen !!!

$ cd /usr/local
$ git fetch origin
$ git reset --hard origin/master

Explicación, para los interesados:

Lo que sucede es que está intentando actualizar el brew, pero el brew en sí no está actualizado (es probable), hay un cambio en los permisos a través de alguna actualización del sistema operativo (también es probable), o el brew está un poco dañado (poco probable). Como brew en sí mismo es un repositorio git, debes actualizar o restablecer brew a la versión de la rama maestra. brew [por defecto] se encuentra en la carpeta /usr/local , por lo que

  1. Vaya a esa carpeta [primer comando] que también debería actualizar los permisos (si no se ve a continuación)
  2. Busque el origen [segundo comando], lo que significa actualizar su versión LOCAL de la rama remota de brew
  3. Restablecimiento completo [tercer comando] basado en la rama maestra REMOTA (que también usa sus permisos actuales).

También puede chown el primer comando si está en un perfil no sudo o administrador
$ sudo chown -R `whoami` /usr/local
$ cd /usr/local
$ git reset --hard origin/master

Para entender git reset, echa un vistazo a este artículo .


Respuesta similar, pero si tiene archivos que ya no se rastrean, necesita un paso adicional, así que desde /usr/local run

git fetch origin git clean -f git reset --hard origin/master


Tuve un problema similar hace un par de semanas al intentar actualizar una instalación anterior de homebrew. Haciendo esto:

git reset --hard origin/master

en /usr/local arreglé para mi.

Parece que otras personas también han tenido este problema. ¿Has revisado alguna de las soluciones propuestas here ?