374 Stimmen

brew update: Die folgenden nicht verfolgten Arbeitsbaumdateien würden durch die Zusammenführung überschrieben werden:

Ich habe versucht, die brew update und ich erhalte eine Fehlermeldung, dass meine lokalen Änderungen beim Zusammenführen verloren gehen würden. Ich habe versucht, meine lokalen Änderungen zu übertragen (ich erinnere mich nicht, dass ich welche gemacht habe, aber es ist schon eine Weile her), und das hat alles 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

745voto

chris Frisina Punkte 18497

Vergessen Sie nicht, die Herkunft zu ermitteln:

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

Was passiert, ist, dass Sie versuchen, brew zu aktualisieren, aber brew selbst ist entweder nicht auf dem neuesten Stand (wahrscheinlich), gibt es eine Änderung der Berechtigungen über einige OS-Update (auch wahrscheinlich), oder brew ist leicht beschädigt (unwahrscheinlich). Da brew selbst ein Git-Repository ist, müssen Sie brew aktualisieren oder auf die Version im Master-Zweig zurücksetzen. brew befindet sich [standardmäßig] im Verzeichnis /usr/local/Homebrew Ordner, damit Sie

  1. Gehen Sie zu diesem Ordner [erster Befehl], der auch die Berechtigungen aktualisieren sollte (falls nicht, siehe unten)
  2. Holen Sie den Ursprung [zweiter Befehl], was bedeutet, dass Sie Ihre LOKALE Version des entfernten Zweigs von brew aktualisieren
  3. Hard Reset [3. Befehl] basierend auf dem REMOTE-Master-Zweig (der auch Ihre aktuellen Berechtigungen verwendet).

Sie können auch chown der erste Befehl, wenn Sie ein Nicht-Sudo- oder Admin-Profil haben

sudo chown -R `whoami` /usr/local/Homebrew
cd /usr/local/Homebrew
git reset --hard origin/master

Um Git Reset zu verstehen, werfen Sie einen Blick auf dieser Artikel .

107voto

Joe Holloway Punkte 26743

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

git reset --hard origin/master

in /usr/local hat es für mich gelöst.

Es scheint, als hätten auch andere Leute dieses Problem gehabt. Haben Sie sich eine der vorgeschlagenen Abhilfemaßnahmen angesehen? aquí ?

12voto

furins Punkte 4884

Ich füge meine persönliche Erfahrung hinzu, denn sie scheint etwas sicherer zu sein als der Vorschlag von 2012:

  1. ausführen. brew doctor .

  2. Wenn Sie die folgende Warnung erhalten:

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

    laufen:

    sudo chown -R `whoami` /usr/local

    um die Berechtigungsprobleme zu beheben (wie auch von Chris Frisina vorgeschlagen). Schließlich laufen brew doctor erneut, um sich zu vergewissern, dass die Warnung nicht mehr vorhanden ist.

  3. Jetzt sollten Sie eine

    Warning: You have uncommitted modifications to Homebrew

    die durch folgende Maßnahmen gelöst werden können

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

    wie von Dr. Brew selbst vorgeschlagen. Der Befehl speichert die nicht übertragenen Änderungen, so dass Sie bei Bedarf zurückgehen und sie wiederherstellen können. Es schien sicherer zu sein als git reset --hard origin/master zu mir.

  4. Wenn Sie es wünschen, prüfen Sie der offizielle Leitfaden zur Fehlersuche wenn die hier und von anderen SO-Benutzern vorgeschlagenen Schritte Ihr Problem nicht lösen.

0voto

Haris Krajina Punkte 14008

Ähnliche Antwort, aber wenn Sie Dateien haben, die nicht mehr verfolgt werden, brauchen Sie einen zusätzlichen Schritt, also von /usr/local laufen.

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

0voto

Kay V Punkte 2976

Dieser Ansatz ist vielleicht einfacher als andere. Er beinhaltet:

  • ein Git-Problem zu beheben, damit Sie die Verwaltung von Änderungen wieder an dieses delegieren können.
  • keine manuellen Verschiebungen von Dateien oder Verzeichnissen.
  • keine manuellen Anpassungen der Datei- oder Verzeichnisberechtigungen.

Schritte (mit Anmerkungen 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 

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

Hinweis 1: Dieser erste Befehl führt Sie von einer beliebigen Stelle in Ihrer Dateistruktur in das richtige Verzeichnis. Die Verzeichnisstruktur ist bei mir anders als die oben gezeigten (Mac OS 10.11.16), aber mit diesem Befehl sollten diese Unterschiede keine Rolle spielen.

Anmerkung 2: Dieser zweite Befehl fügt die korrekte Remote-URL zu einem neuen Alias hinzu; ich tat dies nur für den Fall, dass dieser Ansatz nicht das Gewünschte bewirkt und ich die vorherige Adresse erneut benötige. Da die neue Remote-Adresse funktioniert hat, bitte ich jemand anderen, sich dazu zu äußern, wie man einfach die Url mit dem Alias "origin" ändert. Ich werde die Antwort gerne aktualisieren, um wiederzugeben, was bei Ihnen funktioniert hat.

Anmerkung 3: Dieser vierte Befehl hat genau das gewünschte Ergebnis: Er meldet eine große Anzahl von Aktualisierungen, darunter die besonders schöne Meldung "==> Migrated HOMEBREW_REPOSITORY to /usr/local/Homebrew!" (Hervorhebung durch sie).

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X