1. ホーム
  2. ギズーブ

Gitは、"このリポジトリで別のgitプロセスが実行されているようです... "と表示されます。問題解決

2022-01-24 02:57:23
<パス

I. はじめに:問題の想起

最近は、vs2017に付属するgit管理ツールと、git bashというコマンドラインツールを併用して、同じワークスペース上でgitの操作を管理しています。

vs2017でファイルに変更を加えたところ、急に思い立ってgit bashでコマンドラインを使ってワークスペースにアクセスしたくなったところ git commit git commit と入力し、誤って右上の終了ボタンをクリックしてしまい、git プロセスがクラッシュしてしまいました。

その後、vs2017 の git 管理ツールに入り、変更をコミットしようとしたところ、以下のメッセージが表示されました。

このリポジトリでは別のgitプロセスが実行されているようです。例えば、'git commit'によって開かれたエディタなどです。すべてのプロセスが終了していることを確認してから、もう一度試してみてください。それでも失敗する場合は、git プロセスが手動でファイルを削除して続行してください。

これは大まかに言って、すでに "git commit" コマンドを実行したエディタが開いているので、git 関連のプロセスをすべて終了して再試行してください、そうでなければ、ファイルを手動で削除してください、という意味です。

II. 問題解決

私たちの知る限り、ウィンドウズにはプロセスの同期的なミューテックス管理のためのリソースロック機構があります。ここにリソースをロックしたプロセスがあるはずですが、そのプロセスが突然クラッシュしたため、ロックを解除する時間がなく、他のプロセスがアクセスできない状態になっています。

ここで、vs2017のgit管理ツールのプロンプトメッセージに従って、フォルダオプションを開き、隠しファイルを表示を開き、ワークスペースディレクトリの隠しファイル.gitに移動し、index.lockファイルを削除し、git bashプロセスを開き直せば問題は解決します。

III. 概要

Gitは、原理的には複数のプロセスにまたがるリソースの同期をサポートしていますが、クラッシュすると何らかの問題が発生するため、バージョン管理のために一度に開くGitプロセスは1つだけにすることが推奨されています。