別のgitプロセスがこのリポジトリで実行されているようです


667

私はGitの使い方を学ぼうとしていますが、HTML、CSS、JavaScriptファイルを使用して小さなプロジェクトを作成しました。基本的に空のプロジェクトからブランチを作成し、コードにいくつかの変更を加えました。変更をステージングしてみましたが、次のエラーメッセージが表示されます。

Another git process seems to be running in this repository, e.g.
an editor opened by 'git commit'. Please make sure all processes
are terminated then try again. If it still fails, a git process
may have crashed in this repository earlier:
remove the file manually to continue.

確かに、空のプロジェクトを以前にコミットしようとして問題が発生しましたが、どうにかして得た場所から抜け出す方法がわからなかったため、git bashを終了しました。

これを修正する方法はありますか、それとも新しいリポジトリを開始するだけですか?


1
おそらく別のターミナルタブで、rnを実行している別のプロセスが確実にあるようです。
Vincent Rodomista 2016年

タスクマネージャを開き、他に何が実行されているかを確認します。インストールされている場合は、Process Explorerを使用することもできます。
Tim Biegeleisen、2016年

git bash、コマンドライン、またはGUIを使用してみてください。そうすれば、ロックされたgitのロックを解除できます
SalindaKrish

回答:


1295

ディレクトリindex.lock内のファイルを削除してみてください.git

rm -f .git/index.lock

このような問題は通常、2つのgitコマンドを同時に実行したときに発生します。1つはコマンドプロンプトから、もう1つはIDEからです。


7
RM:私は、エラーを次しまっ削除することはできません「.git / index.lock」:デバイスまたはリソース忙しい
ユブラージパティル

8
削除rm -f .git/index.lock
ウィリアムハンプシャー

CocoaPodsの場合は、削除してみてくださいPodfile.lock
LinusGeffarth 2017年

1
ありがとうございます。この回答がまだ受け入れられていないのはなぜですか。コマンドシーケンス:1)検索| grep '\ .lock $' 2)rm -f ./.git/index.lock
Ankush

4
そこにindex.lockファイルがない場合は、以下を確認HEAD.lockしてください。
ダニエルシャッツ

64

アプリケーションのルートディレクトリで以下のコマンドを使用します。これにより、index.lockファイルが削除され、アクティブなロックが解除されます。

rm .git/index.lock

gitプラグインがあったため、Sublime-Textも閉じる必要がありました。gitに接続されている別のIDEにも同じ問題がある可能性があります
ニックキャラウェイ

31

私のコミットメッセージを削除するのがうまくいきました。

rm .git/COMMIT_EDITMSG

それからそれは言った。

致命的:参照 'HEAD'をロックできません: '.git / refs / heads / [your-branch-name] .lock'を作成できません:ファイルが存在します

ブランチ名が私の名前と異なる場合があることに注意してください。このロックファイルは次のようにして削除できます。

rm .git/refs/heads/[your-branch-name].lock

これが誰かを助けることを願っています。


3
これは私を助けたものです、他の答えは私のために何もしませんでした。
CodyMace 2017

1
これは、バックグラウンドでdocker-compose upを使用してコミットしようとしたときに機能しました。
John Spiteri 2017

15

さて、私は '$ git rm .git / index.lock'を実行することでそれを機能させることになりました...以前に何回かそれを行ったので、コンピュータが正しくないのに、奇妙です。


5
git rmここで使用する必要はありませんrm。それで十分です。index.lockはgitが追跡するためのファイルではありません。
Matthieu Moy

8

これは私に起こり、sourcetreeはロックファイルが存在することを通知し続けましたが、そのようなファイルを削除することはできませんでした。そのため、別のブランチをチェックアウトして元のブランチに戻ったところ、この変更によって問題が修正されたことに気付きました。


7

上記の方法に似ていますが、私の場合、いくつかの方法がありました

.git/refs/heads/<branch_name>.lock

このようにして一度にすべてを削除することができました

find -name "*.lock" -exec xargs rm {} \;

4

私にとっては問題はより単純で、これはソースツリーにあるため、通常のソリューションにどの程度当てはまるかわかりませんが、コミットされていない変更ではなく、誤ってマスターブランチを選択してコミットしようとしました。

これは通常問題にはなりませんが、私はすでにコミットメッセージを事前に入力していたので、その小さなスプリントで何をしていたかを追跡できました。

基本的に、私はコミットされていないブランチでコミットを開始し、誤って私のマスターブランチで別のコミットを開始しようとしました。


4

CocoaPodsを使用していて、ある時点で更新またはインストールが失敗した(手動で強制終了したなど)場合は、

1)index.lockファイルの削除(.git/index.lock

2)あなたの Podfile.lockファイルを。

3)新しい pod update

4)失敗したgitコマンドを発行してみてください(私の場合はgit add .


4

あなたがWindowsユーザーの場合、エラーが発生します'rm' is not recognized as an internal or external command。これは、rmがLinuxコマンドであるためです。Windowsでは、以下を使用しindex.lock.gitフォルダー内のファイルを削除できます

del -f .git/index.lock

3

ブランチが破損している可能性があります。新しいブランチを作成してくださいgitブランチ#checkブランチ。新しいブランチを作成して作業しています。

branch -b "main"
git checkout -b "main"  #main is new branch
git add .
git commit -m "all files"
git remote add origin #**YOUR REPO**  https://github.com/tarun-techmarbles/wp-dump-sql-git-push.git
git push origin main  #push with new branch 

3

上記の代替案がありますが、それでも私の解決にはなりませんでした。私の場合、。/ zshrcの "git"プラグインを削除してコンピューターを再起動すると、問題はなくなりました。zshプラグインが元のgitコマンドと競合していると思います。


3

中にこのエラーが発生しましたpod update。のディレクトリにあるindex.lockファイルを削除して解決しました。cocoapods.git

rm -f /Users/my_user_name/.cocoapods/repos/master/.git/index.lock

それは誰かを助けるかもしれません。


2

直面している場合は、次のコマンドを使用します。別のgitプロセスがこのリポジトリで実行されているようです( 'git commit'で開いたエディターなど)。すべてのプロセスが終了していることを確認してから、再試行してください。それでも失敗する場合は、gitプロセスがこのリポジトリで先にクラッシュした可能性があります。続行するにはファイルを手動で削除してください。

rm -f .git / index.lock

git reset およびafter resetコマンドは、git status、git add、およびgit commit -aまたはgit commit -m "your message"、git push origin masterを使用します。


2

rm -f .git/index.lock削除できないロックされたファイルがあったため、役に立ちませんでした。それで、index.lockまた、いくつかのアプリケーションによって捕らえられました。

Unlockerの代わりにLock Hunterをダウンロードして、両方のファイルを削除しました。Gitそれらを捕獲した。


2

SourceTreeでファイルをステージングしようとしたときに、同じ問題に直面しました。

これを解決するには、プロジェクトディレクトリの.gitフォルダに移動し、手動でindex.lockを削除すれば完了です。


実際、SourceTreeで、通常は数秒待ってから再試行するだけで十分であることがわかりました。
マット

2

場合によっては他の誰かを助けることができます...私はコマンドラインで試してみましたがrm -f .git/index.lock機能しませんでした(端末にはエラーが表示されませんでした)。私は直接フォルダに行き.git、削除しましたindex.lockファイル。

注:.gitフォルダーはルートリポジトリにあり、非表示になっています。Macの場合:Cmd+ Shift+ .隠しファイルを表示します。


2

私にとっての解決策は、IDEを閉じてからチェックアウトするだけの簡単なものでした。私のチームメイトが私のPRを受け入れ、TFSを介してコードをマージしました。.lockファイルの削除は機能しませんでした。


2

index.lockここで削除:

<path to your repo>/.git/index.lock

また、リポジトリにサブモジュールがある場合はindex.lock、ここもすべて削除します。

<path to your repo>/.git/modules/<path to your submodule>/index.lock

1

削除しようとしました.git/indexが機能しませんでした。最終的にgoをアンインストールgoし、名前が含まれているすべてのフォルダーを削除してから、goを再インストールすると、ワーカーが動作しました。


1

何らかの理由で私にとって:

rm .git/index.lock

うまくいかなかったので、私は.gitファイルに行って手動で削除しただけで素晴らしく機能しました。


この答えと受け入れられた答えの違いは何ですか?
J. Doe

0

明確にするために、なぜrmとdelを不思議に思う人のために。

rm .git/index.lock - on a unix/linux system
del .git/index.lock - on a windows cmd prompt

機能-fする操作を強制するために追加できます。


0

私も同じ問題に直面しました。これを解決するために私はもう少しする必要がありました。最初に削除しindex.lock、次に既存のgitリポジトリの場所から新しいコードを複製しました。別の場所でコードを変更しました。私はcopiped .gitフォルダや.gitignoreファイルを、私はコードの変更をしていたコードのフォルダに貼り付けます。次に、コミットしてプッシュしようとしましたが、スムーズに動作しました。問題が上記の解決策で解決しない場合は、この形式が役立つ場合があります。


0

SourceTreeを使用して同じ問題がありました。しかし、私のホストにはindex.lockファイルがまったくありませんでした。私はpacked-refs.lockファイルを見つけまし、そしてそれを削除した後、問題は解決されました。


0

私は同じ問題に直面しました。問題は、xmlサイズが1.3GBのファイル(データセットとして使用される)を使用してコードをプッシュしようとしたため、これらのファイルを追加して.gitignore問題を解決しました


0

質問のタイトル(「別のgitプロセスがこのリポジトリで実行されているようです」)に基づいてここまでくると、この質問のタイトルのメッセージの前に次のような別のメッセージが続く場合、受け入れられた回答は直接適用されないことに注意してください。以下のもの:

fatal: cannot lock ref 'HEAD': Unable to create '/<PATH>/<TO>/<REPO>/.git/refs/heads/<BRANCH>.lock': File exists.

この場合、.git / index.lockの代わりにそのファイル(.lock)を削除する必要があります

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