demlemek güncelleştirme: Aşağıdaki izlenmeyen çalışma ağacı dosyalarının üzerine birleştirme ile yazılır:


369

Çalıştırmayı denedim brew updateve birleştiğimde yerel değişikliklerimle ilgili bir hata alıyorum. Yerel değişikliklerimi yapmayı denedim (herhangi bir şey yapmayı hatırlamıyorum, ama bir süredir oldu) ve bu da işleri daha da kötüleştirdi.

İşte çıktı:

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

Yanıtlar:


738

Kökeni getirmeyi unutmayın !!!

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

İlgilenenler için açıklama:

Olan şey, demlemeyi güncellemeye çalışıyorsunuz, ancak demlemenin kendisi güncel değil (büyük olasılıkla), bazı işletim sistemi güncellemeleri yoluyla bir izin değişikliği var (ayrıca olası) veya demlemek biraz bozuk (olası değil). Demlemenin kendisi bir git repo olduğundan demlemeyi ana şube sürümüne güncellemeniz veya sıfırlamanız gerekir. demlemek [varsayılan olarak] /usr/localklasörde bulunur, böylece

  1. İzinleri de güncellemesi gereken klasöre [ilk komut] gidin (aşağıya bakmazsanız)
  2. Uzak demleme dalının LOCAL sürümünü güncellemek anlamına gelen [ikinci komut] kaynağını getirin
  3. REMOTE ana dalı (geçerli izinlerinizi de kullanır) temel alarak donanımdan sıfırlama [3. komut].

Ayrıca chownsudo veya yönetici profilinde değilseniz ilk komutu
$ sudo chown -R `whoami` /usr/local
$ cd /usr/local
$git reset --hard origin/master

Git reset'i anlamak için bu makaleye göz atın .


3
git fetch originSıfırlama çalışmadan önce yapmam gerekiyordu . Teşekkürler. Bu cevabın geçen gün nasıl eklendiği komik, şanslıyım!
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
Şuna bir göz atın github.com/mxcl/homebrew/wiki/Common-Issues Hata açıklanır ve nasıl düzeltilir?
Stephane Paquet

11
İşe yaradı, ama son adımı yapmak zorunda kaldımsudo
altumano

3
bu hala düzenli olarak başıma geliyor, infact Bu adımları son birkaç ay içinde 3 kez tekrarlamam gerekiyordu. Oldukça can sıkıcı, SO'nun favori bir özelliğe sahip olması kullanışlı (hatanın googling'in genellikle bu
yazıyı

107

Birkaç hafta önce eski bir homebrew kurulumunu güncellemeye çalışırken benzer bir sorun yaşadım. Bunu yapmak:

git reset --hard origin/master

içinde /usr/localbenim için düzelttim.

Öyle görünüyor ki diğer insanlar da bu sorunu yaşamışlar. Burada önerilen geçici çözümlerden herhangi birine baktınız mı ?


Bir şampiyon gibi çalıştı. Bağlantı için de teşekkürler!
Tyler DeWitt

Diğerlerine not edin: Diğer cevapta önerildiği gibi 'git fetch origin' komutunu çalıştırmayı deneyin - yalnızca bu sorunu benim için düzgün bir şekilde düzeltmek (herhangi bir güncelleme görmeyen demlemek dışında 'git fetch origin' olmadan belirgin bir sorun yoktu;) ).
Gilead

Bu sabah bu demleme hatasıyla karşılaştım. Biraz googling beni buraya götürdü. Bu cevap sorunumu tamamen çözdü. Teşekkürler!
memoht

2
Önce ayrıca bkz . cd usr/localve git remote add origin https://github.com/mxcl/homebrew.gitayrıca bkz. stackoverflow.com/questions/6024671/…
s2t2

11

Kişisel deneyimimi ekliyorum, çünkü 2012'de önerilenden biraz daha güvenli görünüyor:

  1. Koş brew doctor.
  2. Aşağıdaki uyarıyı alırsanız:

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

    Çalıştırmak:

    sudo chown -R `whoami` /usr/local
    

    izin sorunlarını düzeltmek için (Chris Frisina tarafından da önerildiği gibi). Sonunda brew doctoruyarının gittiğinden emin olmak için tekrar çalıştırın .

  3. Şimdi, bir

    Warning: You have uncommitted modifications to Homebrew
    

    bey tarafından çözülebilir

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

    Dr.Brew'un önerdiği gibi. Komut, izin verilmeyen değişiklikleri saklar, böylece geri dönüp gerekirse kurtarabilirsiniz. git reset --hard origin/masterBenden daha güvenli görünüyordu .

  4. İsterseniz, burada ve diğer SO kullanıcıları tarafından önerilen adımlar sorununuzu çözmezse resmi sorun giderme kılavuzunu kontrol edin .


cd / usr / local / Kütüphane && git stash && git clean -d -f ve sonra demleme güncellemesi benim için düzeltildi
at0mzk

0

Benzer cevap, ancak artık izlenmeyen dosyalarınız varsa, /usr/localçalıştırmak için ek adım gerekir

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

0

Bu yaklaşım bazılarından daha basit olabilir. O içerir:

  • değişikliklerle ilgili yönetimi yeniden devredebilmeniz için bir git sorunu düzeltildi.
  • dosya veya dizinlerin manuel olarak taşınması gerekmez.
  • dosya veya dizin izinlerinde elle ayarlama yapılmaz.

Adımlar (açıklama isteyenler için notlarla birlikte):

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 

Genel Bakış:
Söyleyebileceğim kadarıyla, bu sorunun asıl nedeni repo url'sindeki bir değişikliktir. Şimdi brewve öyleydi brew.git. (Tam güncel URL: https://github.com/Homebrew/brew )

Not 1: Bu ilk komut sizi dosya yapınızın herhangi bir yerinden doğru dizine götürür. Dizin yapısı benim için yukarıda gösterilenlerden (Mac OS 10.11.16) farklıdır, ancak bu komutla bu farklar önemli olmamalıdır.

Not 2: Bu ikinci komut, yeni bir takma ada doğru uzak URL'yi ekler; Bu yaklaşımın istediğimi yapamaması durumunda bunu yaptım ve önceki adrese tekrar ihtiyacım vardı. Yeni uzaktan kumanda çalıştığından, başka birini basitçe kökeni tarafından takma adı verilen URL'yi değiştirmeye yorum yapmaya davet edeceğim. Sizin için neyin işe yaradığını yansıtmak için cevabı mutlu bir şekilde güncelleyeceğim.

Not 3: Bu dördüncü komut tam olarak istenen sonuca sahiptir: "==> HOMEBREW_REPOSITORY / usr / local / Homebrew!" Klasörüne hoş bir rapor da dahil olmak üzere çok sayıda güncelleme bildirir. (onların vurgu).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.