1

新しいリポジトリを作成し、それに2つのプロジェクトを追加しようとしています。プロジェクトの1つはすでにGitソース管理下にあったため、プロジェクトをコピーして.gitフォルダーを削除し、そのために持っていたリポジトリを削除しました。プロジェクトをリポジトリに追加すると、ソース管理下になかったプロジェクトは正常に追加されますが、もう1つはサブモジュール(GitHubの緑色のフォルダー)として追加されます。

サブモジュールを削除しようとしgit rm --cachedましたが、まだそこにあり、プロジェクトのファイルをリポジトリに追加できません。

4

2 に答える 2

2
rm -rf path_to_submodule
rm -rf .git/path_to_submodule
rm .gitmodules
git commit -am "removing submodule"
git push

.gitmodules存在しない必要がありますe.git/ サブモジュールからの参照を持つべきではありません

確認する:

git ls-files | grep submodule_name
find . | grep submodule_name

そして最後に:

git submodule add git@git.whatever.com.br:johndoe/johndoe_repo.git johndoe_branch/johndoe_repo --force

--forceファイルシステムにすでにフォルダがある場合はオプションです

于 2016-05-20T02:07:11.347 に答える
1

フレッシュチェックアウトをもう試しましたか?がないgit submodule removeようですので、手動で編集する必要があります.gitmodules

チェックアウトされたコピーを使用して、モジュールX(すでにバージョン管理下にある)をモジュールY(新しい)に追加する場合:

  • XにCd
  • スタンドアロンモジュールであることを確認してください。存在しないようにする必要があります.gitmodule(存在する場合は、より複雑になります)。
  • 実行git statusして、コミットされていない変更がないことを確認します。
  • 一時的なビルドファイルなど、git clean -xfd一部に含まれるものをすべて削除するために実行します。.gitignore
  • .gitディレクトリを削除します
  • XをYにコピーします
  • git add XY内で実行します。

git clone path-to-YXの後に。を続けるようなこともできますrm -rf Y/.git

于 2012-10-03T06:10:26.560 に答える