したがって、職場では、ブランチやその他の優れたgitをプッシュおよびプルするのと同じスタッシュを共有しています。だから私は通常、Eclipseでegitからプルとプッシュを行います(ここでほとんどの人がこの方法でそれを行うのは私だけではありません)。しかし、私のブランチのいくつかは、「更新のためにローカルトラッキングrefをロックできませんでした」という[ロック失敗]を私に与え始めました。ただし、同じ方法で75人以上のユーザーがいて、誰もこのエラーを見たことはありません。私はいくつかの研究を行ってきましたが、そのほとんどは、Fooとfooなどの名前の競合に基づいていると言っています。唯一の違いは大文字であるため、Egitはどちらをプルするかについて混乱しますが、他の人は問題を抱えていません。何が起こっているのか分かりません。どんな助けも大歓迎です。
git remote Prune Origin
私のためにそれを解決しました。
フェッチもプッシュもリベースもできず、Eclipseでも「ロック失敗」エラーが発生しました。
私が見つけた解決策は、git bashを開き、gitフォルダに移動してからgit fetch
。この後、Eclipseでリベースしてプッシュすることができました。
Eclipseの設定/ team/git/configurationで、設定していないことを確認することもできますfetch.Prune=true
これはこの問題を引き起こす可能性があるためです。
Eclipse 2019-06でこれを数回見ました。これらのイベント後に最近発生したと思われるタグ作成に関連している可能性があります。いずれにせよ、Eclipseを閉じて、Eclipse-workspace/.metadata/.lockファイル(および場合によってはEclipse-workspace/.metadata/.log)を削除すると、再起動時に良くなると思います。
私にとっては、タグでロック失敗の問題が発生したため、次の手順を実行します。
私にとっての問題は、feature/somename
としてプルしたブランチがたくさんあることでしたが、それをremote
にプッシュすると、Feature/somename
として表示されました。このf
からF
の問題を解決すると、期待どおりに動作し始めました。
また、リポジトリをPrune
したい場合、これを実現するにはGIT GCを使用する必要があります。 EGITには、これをトリガーするCollect Garbage
というオプションがあります。このオプションを表示するには、EGITパースペクティブでリポジトリを右クリックします。