16

私のgitリポジトリの1つで常に問題が発生しています。次のエラーが発生し続けます。

    fatal: Unable to create 'v:/path/to/files/.git/index.lock': File exists.

    If no other git process is currently running, this probably means a
    git process crashed in this repository earlier. Make sure no other git
    process is running and remove the file manually to continue.

私は試しました: rm -f ./.git/index.lockをスタックオーバーフローの別のスレッドに従って実行しましたが、毎回このエラーが発生します: rm: './.git/index.lock' をリンク解除できません: 許可が拒否されました

aptana を閉じると (端末で git を使用しています)、まだファイルを削除できません。

これを回避する方法はありますか?

注意すべきもう 1 つのことは、この git リポジトリは、時々コミットするときに非常に遅いことです (10 回程度の試行ごとに許可されます)。

ありがとう

4

6 に答える 6

29

コマンドを Sudo します。

sudo rm -f ./.git/index.lock

どちらのエラーもindex.lock、別のユーザーが所有していることを示しています。をスーパーユーザーとして実行してrmから、コマンドを再試行してください。core.sharedRepository実際にリポジトリに当てはまる場合は、次のように設定することも検討trueしてください。

core.sharedRepository

group (または true) の場合、リポジトリはグループ内の複数のユーザー間で共有可能になります (すべてのファイルとオブジェクトがグループ書き込み可能であることを確認してください)。

all (または world または everyone) の場合、リポジトリはすべてのユーザーが読み取り可能であり、さらにグループで共有できます。umask (または false) の場合、git は umask(2) によって報告されたパーミッションを使用します。0xxx (0xxx は 8 進数) の場合、リポジトリ内のファイルはこのモード値になります。0xxx は、ユーザーの umask 値をオーバーライドします (他のオプションは、ユーザーの umask 値の要求された部分のみをオーバーライドします)。例: 0660 は、所有者とグループに対してリポジトリを読み取り/書き込み可能にしますが、他のユーザーはアクセスできません (umask が 0022 でない限り、グループと同等です)。0640 は、グループで読み取り可能ですが、グループで書き込み可能ではないリポジトリです。

git-init(1) を参照してください。

デフォルトでは偽です。

于 2012-08-07T03:23:20.957 に答える
4

問題はAptanaであることになりました。これを実行するたびに、gitでコミットしようとするとこのエラーが発生していました。

aptana studioの使用をやめましたが、この問題はもう発生していません。

于 2012-09-21T04:34:38.717 に答える
0

これを行う:

rm index.lock

に続く

git リセット

于 2014-05-08T21:13:37.510 に答える
0

git バージョン 2.11.0 では、.gitフォルダーにindex.lockファイルが含まれていない場合があります。.git/refs/heads/フォルダーに.lockファイルが含まれていることがわかり、コマンドを使用して削除すると機能rmします。

ps -aef | grep gitまた、 および を使用して、 git repo を使用している可能性のあるプロセスを強制終了してkill -9ください。

于 2017-04-11T10:04:55.587 に答える