Git-致命的: '/path/my_project/.git/index.lock'を作成できません:ファイルが存在します


806

プロジェクトツリーをgit repoに移動しようとすると、まだこのエラーメッセージが表示されます。

私はこのプロジェクトで自分のディレクトリの権限を確認しました。これらは777に設定されています。設定したディレクトリのターミナルでmy_project

git init

そして私がしようとすると

git add。

または

git commit -m "最初のアップロード"

エラーが出るので

fatal: Unable to create '/path/my_proj/.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.

新しいリポジトリを作成してコミットしようとしましたが、残念ながらまだ同じエラーメッセージが表示されます。

問題の原因は何ですか?


1
この問題が発生したのは、別の端末でsuを使用してログインし、最初の状態に戻ったため、すべてがうまくいった
maazza


3
同じ問題が発生しました。「git
add。or

stackoverflow.com/questions/14127255/…ごとに.gitファイルの権限を変更して修正しました。MaheshidZeinalyからの回答を参照してください
vikramvi

回答:


1740

試す

rm -f ./.git/index.lock

リポジトリディレクトリ。エラーメッセージは通常、その原因を明確に示しているため、他のgitプロセスが実行されていない場合(通常の場合)は、先に進んでそのファイルを削除してください。


7
自動的には発生しません。git push変更をWebサーバーにプッシュするには、コマンドを実行する必要があります。これがどのように機能するかの詳細はこちら:gitready.com/beginner/2009/01/21/pushing-and-pulling.html
Raphael R.

9
私は正確に同じ問題を抱えているが、.git / index.lockファイルが存在していないようので、私はそれをこのように解決することはできません:touch .get/index.lockリターンをtouch: .get/index.lock: No such file or directory
emersonthis

24
エマーソン、あなたは存在しない.gitの代わりに.getを探しているようです。
Apie 2013

3
権限が拒否されたことは、Gitを使用しているユーザーに、ファイルに対する読み取り/書き込み権限を与える必要があることを意味します。chmodコマンドをチェックしてください(* nixまたは[プロパティ]-> [ウィンドウの[セキュリティ]タブ)
Stijn de Witt 14

9
エラーに「Permission Denied」と表示されている場合は、ファイルを別の場所からコピーした可能性があり、.gitディレクトリに対する権限がありません。使用ls -l使用し、その後、権限を確認するsudo chown -R username ./*と、sudo chgrp -R username ./*プロジェクト内のすべてのファイルに対して、独自に変更ユーザーおよびグループに。
2015年

158

Windowsでは、repoディレクトリのコマンドプロンプトで次のようにします。

cd .git
del index.lock

更新:作業中のファイルを閉じてからしばらく待ってからブランチを切り替えようとすると、この手順を実行する必要がないことがわかりました。gitが遅いファイルシステムに追いついたことが原因で、この問題が発生することがあります。その他、gitに精通している開発者は、これが正しいと考える場合は、それに抵抗することができます。


3
不思議なことに、ファイルに関するエラーが表示されますが、cmd.exeでファイルを削除しようとすると、ファイルが見つかりませんと表示されます:)絶対パスと相対パスを使用した同じ結果。しかし、Git Bashでは、(でrm -f index.lock)機能します
Juha Untinen

私の場合、Sourcetreeを数回再起動した後、 "Fetch"を実行して動作しました。
maxivis

32

Xcodeを終了してみてください-これはgitクライアントなので、コマンドラインでのgitの問題を回避するためにXcodeを終了する必要があります。


4
いいね!Xcodeおよび他のGitクライアントが原因である可能性があることに注意してください。私の場合、gitXも閉じる必要がありました。
NSTJ 2015年

私のロックファイルを10回ほど削除する必要があった後、今朝、私はようやくこの答えに出くわしました。xcodeがどのように開いたのかわからないが、ワークフローを破壊していることは間違いない。先端をありがとう!
Cloudkiller

24

私も同じ問題を抱えていました。私は試した

rm -f ./.git/index.lock 

コンソールからエラーメッセージが表示されました。その後、試しました

rm --force ./.git/index.lock

そしてそれはうまくいった。

幸運を!これはすごく効く


私の場合、.gitフォルダが表示されません。隠しディレクトリに関する限り、。/と../しか表示されません。

どのタイプのコンピューターを使用していますか?
Olivia Steger 2017

18

私の.gitディレクトリには、index.lockファイルがありませんでした。そこで、Git Bashシェルを使用して、実行しました...

cd .git
touch index.lock
rm index.lock

touchコマンドがファイルを作成し、問題は解消されました。


なぜこれが反対投票されたのですか?OPと同様のエラーメッセージが表示されました。これは私を直し、そしておそらく他の人を助けることができました。
John Livermore

1
私はこれのわずかな変形を経験しました:(1)エラーメッセージを経験し、さまざまな「修正」を実験しました。(2)index.lock存在しないことがわかりました。(3)上記のtouchコマンドを使用しました。(4)私のgitクライアントは正常に機能しなくなりました(せいぜい、クロールするまで遅くなりました)。(5)削除しましたindex.lock; (6)リポジトリは再び正常に機能し始めました。
clarpaul 2016

間違いなく、私の問題を整理して、反対票を投じるべきではありません。index.lockファイルはありませんでしたが、作成してから削除すると、コミットは機能しました。
Bynho

touch index.lockJohnが* NIXを使用していたことを意味しますが、Windows 10で同等の操作を行っただけで(index.lockテキストエディターでファイルを作成し、すぐに削除して利益を得ます)、問題は解消しました。
ルフィン

1
@Sparkが更新されました...
John Livermore

13

rootユーザーを使用してリポジトリを誤って作成しましたか?

たまたま私がgitリポジトリを rootユーザーです。

私はgitリポジトリを削除し、それなしで再度作成しましたがsudo、動作します。


1
うん、それだけです。ありがとう
Natassia Tavares

9

私もこの問題を抱えており、本当に許可の問題だと思います。だから私はこれをします:

sudo chown -R : .git #change group
sudo chmod -R 775 .git #change permission

次に、エリザシングは素晴らしいです、そしてgaaは成功です。

その後、gpを使用すると、ほぼ同じエラーが発生します。

sudo chown -R "${USER:-$(id -un)}" . #use this can fix the problem

素晴らしい、これは何をしますか?"$ {USER:-$(id -un)}"
Nick

7

Mac OS Xでは、repoディレクトリのコマンドプロンプトで次のようにします。

cd .git
rm index.lock

1
そのようなファイルやディレクトリはありません
Channox 2018

5

#intelliJIDEのいずれかを使用していて、このメッセージを受信している場合(私はを使用し#webtormています)、プロジェクトフォルダー(設定内)の1つが非表示になっているためにこの問題が発生する可能性があり、これGITによりマージが妨げられる場合があります。


5

動作している解決策は、実行中のgitプロセスがエディターによって開始されたため、崇高なテキストを閉じることでした。


私は最近Sublime TextプラグインGitSavvyをインストールし、それ以来このエラーが発生しました。ヒントをありがとう、@ snorkelzebra
Kitze

5

試した後:

rm -f ./.git/index.lock

あなたが得る:

rm: 'index.lock'のリンクを解除できません:権限が拒否されました

Gitを使用している可能性のあるすべてのソフトウェアを閉じてみてください。ソースツリーとVisual Studioを開き、閉じた後、両方のコマンドが機能しました。


5

Windowsでは、タスクマネージャーですべてのGit Windows(32ビット)プロセスのタスクを終了した後にのみロックファイルを削除できました。

ソリューション(Win 10)

1.タスクマネージャですべてのGit Windows(32ビット)プロセスのタスク終了する

2. .git / index.lockファイルを削除します


4

私の場合、解決策は5分間待つことでした。明らかに、以前の操作はまだ実行されていましたが、知らなかっただけです。Windowsで亀のgitを使っていました。



4

私はファイルを削除するよりも良い解決策があると思います(そしてsudoでファイルを削除/作成すると次に何が起こるかを神は知っています):

git gc

3

.git/index.lock以下のコマンドを使用して削除してください。

コマンド:

sudo rm -rf .git / index.lock


3

私は多くの方法で数回試しましたが、これは私のために働きました(私はPyCharmの端末を使用しました):

$ cd .git/

$ rm -f index.lock

次に、空のgitリポジトリを作成しようとしました:

$ git init

$ git add .

$ git commit -m "commit msg"

3

サブモジュールの場合は、代わりにリポジトリディレクトリでこれを試してください。

rm -f ../.git/modules/submodule-name/index.lock

submodules-nameをサブモジュール名に変更します。


2

この問題の解決策は、ディレクトリ内の3つのxcode / projectファイルをコピーしてから、新しいディレクトリを作成し(それ以外の場合)、3つのファイル/ディレクトリを貼り付けます。


2

また、gitプロセスを強制終了することもできます。私はgitのGUIアプリを介して同じ問題を受け取りますが、何かがうまくいかず、gitはいくつかの作業を無限に続けます。プロセスを強制終了すると、gitで動作するアプリケーションがフリーズします。再起動するだけで、すべてが正常になります。


2

なんらかの理由で、クラウドサービス(ドロップボックス、ドライブ、ワンドライブなど)によって同期されているフォルダーからリベースを実行している場合、同期を一時停止するかオフにしてください。同期すると、リベース中にアクセス許可が妨げられます。 。



2

ディレクトリのアクセス許可を変更したので、アクセス許可に関連している可能性があることがわかりました。私の場合、不要な(_www)ユーザーを削除し、すべてのコンテンツに変更を適用することで、すべてのユーザーに読み取り/書き込み権限を適用しました。これはMacです

Macでのディレクトリ権限



2

Atomを使用しないでください platformio-atom-ide-terminalこれを行うプラグインをしないでください。DISTROの端子を直接使用してください。

コミットのリベース/スキッシュ中にこのエラーが発生し続けましたが、何回か前に実行したことがあるので理由がわかりませんでした。

何回削除するかは関係ありませんでした index.lock失敗するたびにファイルではありませんでした。

それは、私がATOM EDITOR端末プラグインを使用していたためであることがわかりました。Ubuntuに付属しているターミナルを使用すると、それは魅力のように機能しました。


2

D:/project/androidgc/.git/このディレクトリに移動し、index.lockを削除するだけです。


1

誰かがgit svnを使用している場合、私は同じ問題を抱えていましたが、そこにないため、ファイルを削除できませんでした!。権限を確認し、ファイルをタッチして削除した後、他に何があったか覚えていませんが、これはトリックを行いました:

  • masterブランチをチェックアウトします。
  • git svn rebase(マスター上)
  • 作業していたブランチをチェックアウトする
  • git svn rebase

1

実際の解決策を得るために異なる答えを使用する必要があったため、少し追加しました(私にとって)。

これは私のためにそれをしました:

  1. 作業中のブランチを開く
  2. ターミナルを開く(Git GUIでターミナルを使用)
  3. コマンドを入力: cd .git
  4. コマンドを入力: rm -f index.lock

-Force代わりに使用しなければならない場合もあり-fます。端末で次のようなコマンドを実行すると、端末のコマンドラインを確認できますgit help


0

すべてのソリューションは正しいです:

Just remove .git from your corrupted repository, 

then copy this file if back from another clone (if you don't have it in another machine, just clone it).

最後に、私に違いをもたらしたもの:

  • sudoを使用して、新しい.gitフォルダーを解凍またはコピーしないでください。スーパーユーザー権限を使用して作成した場合、Gitは.gitフォルダーにアクセスできません。

0

これは、リポジトリのルートフォルダーに対応するディレクトリのサブディレクトリ(つまり、.gitがあったディレクトリ)にいるときに発生しました。ルートディレクトリに移動すると問題が解決しました-foo.extの代わりにpath / to / folder / foo.extに移動する必要があるため、すべてのファイル参照が少し不便になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.