Windows 7 ボックスで git によって作成された git リポジトリ (.git フォルダー) を削除したいと考えています。.git/refs/header フォルダーへのアクセスが拒否されたと表示されます。
管理者ロールでコンソールを開き、コマンド「takeown /F head /A /R」を発行しますが、それでも「エラー: アクセスが拒否されました。」と表示され、GUI セキュリティ ダイアログからも実行できません。
なにか提案を?
よろしく、グリーン
Windows 7 ボックスで git によって作成された git リポジトリ (.git フォルダー) を削除したいと考えています。.git/refs/header フォルダーへのアクセスが拒否されたと表示されます。
管理者ロールでコンソールを開き、コマンド「takeown /F head /A /R」を発行しますが、それでも「エラー: アクセスが拒否されました。」と表示され、GUI セキュリティ ダイアログからも実行できません。
なにか提案を?
よろしく、グリーン
アクセス拒否エラーは、ファイルが別のプロセスによって使用されていることを意味する場合があり、GIT リポジトリの場合、ファイルのアクセス許可の問題よりも可能性が高いと思われます。
(GIT は、リポジトリ内のすべてのファイルが標準のアクセス許可を持つ自分のアカウントによって作成される SVN のようなものであると想定しています。そうでない場合は、間違っている可能性があります。)
最初のステップとして、Process Explorerを管理者として実行し、Ctrl-F を押してウィンドウを開き、ファイル名を入力して、そのファイルを開いているプロセス (存在する場合) を確認します。
「管理者として実行」と言うと:
管理者としてログインしたときだけではありません。Windows 7 の UAC は、管理者アカウントがデフォルトで完全な管理者アクセスで物事を実行しないことを意味します。procmon.exe を右クリックし、[管理者として実行] オプションを選択します。
コマンドプロンプトを管理者として実行することで、これにすでに精通していると思います。管理者アカウントに変更したばかりで、コマンド プロンプトで [管理者として実行] を使用しなかった場合、それが原因で takeown コマンドが失敗した可能性があります。UAC が完全にオフになっていない限り、適切に昇格されていれば、コマンド プロンプトのウィンドウ タイトルに「Administrator:」と表示されます。
1 つまたは複数のプロセスがリストされている場合は、リスト内の完全なファイル パスを確認します (ディスク上の他のファイルに同様の名前がある場合)。
ファイルを開いているすべてのプロセスを閉じます。可能であれば、通常どおり閉じてみてください。最後の手段として、タスクを終了することができます。別のユーザー/アカウントとして実行されているプロセスである場合は、停止できるサービスである可能性があります。
(View->Show Processes for All Users がチェックされていることを確認してから、PID 列から問題のプロセスを見つけます。サービスだと思われる場合は、マウスをその上に置くと、ツールチップが表示され、その名前が示されます。実行中のサービス)。
ファイルにアクセスしているプロセスが見つからない場合、またはプロセスをすべて閉じてもアクセス拒否エラーが発生し、昇格したコマンド プロンプトから削除しようとしている場合は、次回ファイルを削除するように Windows に指示してみてください。再起動されます。そのためには、SysInternals MoveFileツールを使用できます。