Brew-Update: Die folgenden nicht verfolgten Arbeitsbaumdateien werden durch Zusammenführen überschrieben:

369

Ich habe versucht, auszuführen, brew updateund es wird eine Fehlermeldung angezeigt, dass meine lokalen Änderungen beim Zusammenführen verloren gehen. Ich habe versucht, meine lokalen Änderungen vorzunehmen (ich erinnere mich nicht daran, welche vorgenommen zu haben, aber es ist eine Weile her), und das hat die Sache noch schlimmer gemacht.

Hier ist die Ausgabe:

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
Tyler DeWitt
quelle

Antworten:

738

Vergiss nicht den Ursprung zu holen !!!

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

Erklärung für Interessierte:

Was passiert ist, dass Sie versuchen, Brew zu aktualisieren, aber Brew selbst ist entweder nicht aktuell (wahrscheinlich), es gibt eine Änderung der Berechtigungen über ein Betriebssystem-Update (auch wahrscheinlich) oder Brew ist leicht beschädigt (unwahrscheinlich). Da Brew selbst ein Git-Repo ist, müssen Sie Brew auf die Master-Branch-Version aktualisieren oder zurücksetzen. brauen [standardmäßig] befindet sich also im /usr/localOrdner

  1. Gehen Sie zu dem Ordner [erster Befehl], der auch die Berechtigungen aktualisieren soll (falls nicht unten).
  2. Holen Sie sich den Ursprung [zweiter Befehl], was bedeutet, dass Sie Ihre LOKALE Version des Remote-Zweigs von Brew aktualisieren
  3. Hard Reset [3. Befehl] basierend auf dem REMOTE-Hauptzweig (der auch Ihre aktuellen Berechtigungen verwendet).

Sie können auch chownden ersten Befehl ausführen, wenn Sie sich in einem Nicht-Sudo- oder Administratorprofil
$ sudo chown -R `whoami` /usr/local
$ cd /usr/local
$ befindengit reset --hard origin/master

Schauen Sie sich diesen Artikel an , um das Zurücksetzen von Git zu verstehen .

Chris Frisina
quelle
3
Ich musste, git fetch originbevor der Reset funktionierte. Vielen Dank. Komisch, wie diese Antwort am letzten Tag hinzugefügt wurde, Glück gehabt!
Ghoppe
2
/usr/local git fetch origin fatal: 'origin' does not appear to be a git repository fatal: The remote end hung up unexpectedly
Rich Bradshaw
2
Schauen Sie sich diese an: github.com/mxcl/homebrew/wiki/Common-Issues Der Fehler wird beschrieben und wie er ebenfalls behoben werden kann.
Stephane Paquet
11
Es hat funktioniert, aber ich musste den letzten Schritt mitsudo
Altumano
3
Das passiert mir immer noch regelmäßig, tatsächlich musste ich diese Schritte in den letzten Monaten dreimal wiederholen. Ziemlich ärgerlich, es ist praktisch, dass SO eine Lieblingsfunktion hat (die besagt, dass das Googeln des Fehlers diesen Beitrag normalerweise als erstes Ergebnis
anzeigt
107

Ich hatte vor ein paar Wochen ein ähnliches Problem beim Versuch, eine alte Homebrew-Installation zu aktualisieren. Dies tun:

git reset --hard origin/master

in /usr/localbehoben es für mich.

Es scheint, als hätten auch andere Leute dieses Problem gehabt. Haben Sie eine der vorgeschlagenen Abhilfen übersehen hier ?

Joe Holloway
quelle
Arbeitete wie ein Champion. Danke auch für den Link!
Tyler DeWitt
Hinweis für andere: Versuchen Sie, 'git fetch origin' auszuführen, wie in der anderen Antwort vorgeschlagen. Nur dieses Problem wurde für mich behoben (es gab kein offensichtliches Problem ohne 'git fetch origin', außer dass Brew keine Updates sah;) ).
Gilead
Ich bin heute Morgen auf diesen Braufehler gestoßen. Ein bisschen googeln führte mich hierher. Diese Antwort hat mein Problem völlig gelöst. Vielen Dank!
Memoht
2
Zunächst einmal sollten Sie haben müssen cd usr/localund git remote add origin https://github.com/mxcl/homebrew.gitauch stackoverflow.com/questions/6024671/...
s2t2
11

Ich füge meine persönlichen Erfahrungen hinzu, da es ein wenig sicherer erscheint als das, was 2012 vorgeschlagen wurde:

  1. Ausführen brew doctor.
  2. Wenn Sie die folgende Warnung erhalten:

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

    Lauf:

    sudo chown -R `whoami` /usr/local
    

    um die Berechtigungsprobleme zu beheben (wie auch von Chris Frisina vorgeschlagen). Führen Sie es schließlich brew doctorerneut aus, um sicherzustellen, dass die Warnung nicht mehr angezeigt wird.

  3. Jetzt solltest du eine haben

    Warning: You have uncommitted modifications to Homebrew
    

    das kann gelöst werden durch

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

    wie von Dr.Brew selbst vorgeschlagen. Der Befehl speichert die nicht festgeschriebenen Änderungen, sodass Sie sie bei Bedarf wiederherstellen können. Es schien sicherer als git reset --hard origin/masterfür mich.

  4. Wenn Sie möchten, lesen Sie die offizielle Anleitung zur Fehlerbehebung, wenn die hier und von anderen SO-Benutzern vorgeschlagenen Schritte Ihr Problem nicht lösen.

Furine
quelle
cd / usr / local / Library && git stash && git clean -d -f und dann
Brew
0

Ähnliche Antwort, aber wenn Sie Dateien haben, die nicht mehr verfolgt werden, benötigen Sie zusätzliche Schritte, um /usr/localausgeführt zu werden

git fetch origin
git clean -f
git reset --hard origin/master
Haris Krajina
quelle
0

Dieser Ansatz kann einfacher sein als einige. Es involviert:

  • Behebung eines Git-Problems, damit Sie die Verwaltung von Änderungen erneut delegieren können.
  • Keine manuellen Verschiebungen von Dateien oder Verzeichnissen.
  • Keine manuellen Anpassungen der Datei- oder Verzeichnisberechtigungen.

Schritte (mit Hinweisen für diejenigen, die Erklärungen wünschen):

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 

Übersicht:
Soweit ich das beurteilen kann, ist die eigentliche Ursache für dieses Problem eine Änderung der Repo-URL. Es ist jetzt brewund war brew.git. (Vollständige aktuelle URL: https://github.com/Homebrew/brew )

Hinweis 1: Mit diesem ersten Befehl gelangen Sie von einer beliebigen Stelle in Ihrer Dateistruktur in das richtige Verzeichnis. Die Verzeichnisstruktur unterscheidet sich für mich von den oben gezeigten (Mac OS 10.11.16), aber mit diesem Befehl sollten diese Unterschiede keine Rolle spielen.

Hinweis 2: Dieser zweite Befehl fügt einem neuen Alias ​​die richtige Remote-URL hinzu. Ich tat dies nur für den Fall, dass dieser Ansatz nicht das erreichte, was ich wollte, und ich die vorherige Adresse erneut benötigte. Da die neue Fernbedienung funktioniert hat, lade ich jemanden ein, sich dazu zu äußern, einfach die URL nach Herkunft zu ändern. Ich werde die Antwort gerne aktualisieren, um zu reflektieren, was für Sie funktioniert hat.

Hinweis 3: Dieser vierte Befehl hat genau das gewünschte Ergebnis: Er meldet eine große Anzahl von Aktualisierungen, einschließlich des besonders schönen Berichts "==> Migrated HOMEBREW_REPOSITORY to / usr / local / Homebrew!" (Hervorhebung ihrer).

Kay V.
quelle