34

git gc を実行すると、次のエラーが表示され続けます。

rm: cannot unlink 'pack-30b1ff2[reset of hash].pack': Permission denied

このエラーについて何ができる/すべきですか?

アップデート

申し訳ありませんが、もっと情報を提供する必要がありました。はい、再起動を試みました。実際、再起動すると以前に gc の問題が修正されました。

Git Gui を開くと、ときどきデータベースを圧縮するように求められるため、この問題に気付きました。最終的に、Git Guiを数回開いた後、[はい]をクリックしてもプロンプトが表示され続け、「成功」したことに気付きました。

そこで、Git EXT の Settings - Git maintenance - Compress git database コマンドで実行してみました。このコマンドは、エラーが発生したことを教えてくれました (Git EXT では赤いライトでしたが、Git Gui では緑色のライトでした)。

ただし、上記に投稿したエラーは、git bash から直接 git gc を実行したことによるものです。

ディスク スキャンをスケジュールする必要がありますか? 不良セクタが原因でしょうか? 私はこれが素早い答えになることを望んでいました:(

4

4 に答える 4

30

Windowsでの「アクセスが拒否されました」は、実行中のプロセスからのロックが原因であることがよくあります。パックファイルを開いたGitEXTスレッドが停止している可能性があります。

git gcセーフモードで実行してみてください。

別のオプションは、リポジトリを新しい場所に複製し、古いリポジトリを削除することです。

于 2012-05-05T18:06:40.730 に答える
18

私の場合、それは TortoiseGit でした。この問題を解決するために、TortoiseGit 設定 -> アイコン オーバーレイを開き、ステータス キャッシュを「なし」に設定しました。これでプロセス TGitCache が終了し、すべてのオブジェクトが git gc によって処理されるように「解放」されました。

ここに画像の説明を入力

于 2013-03-19T07:15:51.197 に答える
1

コマンドをロックしたコマンドが発生したコンソールを閉じる必要があります。これは、ファイルをロックしている VI または強制終了されたコマンドである可能性があります。最も簡単な解決策は、すべてを閉じてから再度開くことです。問題なくコマンドを実行できるはずです。

于 2015-06-04T16:04:00.167 に答える