1. ホーム
  2. git

[解決済み] resolve fatal: Not a git repository "の方法は?

2022-02-14 05:22:49

質問

プロジェクトから1つのサブモジュールを削除しようとしました。

試してみた rm -rf .git/modules/submodulePath

その後、私は問題が発生しました。

fatal: git リポジトリではありません。

解決方法は?

この2つのファイルには、サブモジュールの絶対パスが含まれています。

{submodule}/.git
.git/modules/{submodule}/config

そのため、レポを移動した場合、この2つのファイルの絶対パスが無効となり、「not a git repository」エラーの原因となります。これらのファイルを手動で修正してください。

更新しました。

1.) .gitmodulesファイルから該当箇所を削除してください。以下のコマンドを使用します。

git config -f .gitmodules --remove-section "submodule.submodule_name"

2.) .gitmodulesの変更をステージングする

git add .gitmodules

3.) .git/configから該当箇所を削除します。以下のコマンドを使用します。

git submodule deinit -f "submodule_name"

4.) gitlinkを削除します(末尾のスラッシュは不可)。

git rm --cached path_to_submodule

5.) .git/modulesをクリーンアップします。

rm -rf .git/modules/path_to_submodule

6.) コミットする

git commit -m "Removed submodule <name>"

7.) 現在追跡されていないサブモジュールのファイルを削除する

rm -rf path_to_submodule