2010-12-01 14 views
9

サブプロジェクトを削除して再追加することなく、サブプロジェクトをスーパープロジェクト内に移動する方法はありますか?Gitでサブモジュールを移動する

+0

これは2010年に尋ねられました。あなたがリンクした質問は2011年の –

+0

です。確かに、他の質問ももっと人気があります(例:3倍以上の意見があります。票 - 受け入れられた、同じ回答でさえ)。とにかく、長い間、近い投票がすべて終了してからは、それほど重要ではありません。 –

+0

この質問もここで尋ねられました:http://stackoverflow.com/questions/4604486/how-do-i-move-an-existing-git-submodule-within-a-git-repository – StevieB

答えて

5

それはあなたがサブモジュールを削除する方法と似ています(How do I remove a submodule?を参照してください):

  • 編集.gitmodules、適切サブモジュールのパスを変更し、必要に応じてgit add .gitmodules
  • とインデックスに入れて、作成サブモジュールの新しい場所の親ディレクトリ:mv -vi old/parent/submodule new/parent/submodule
  • で、古いディレクトリを削除します。新しいディレクトリに古いから、すべてのコンテンツがmkdir -p new/parent
  • 移動

その後私のために次のようになります。

# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
#  modified: .gitmodules 
#  renamed: old/parent/submodule -> new/parent/submodule 
# 
  • は、最後に変更をコミットします。
+4

Gitコマンドがありましたらそれはあなたのためのすべてかもしれません;) –

+1

これらの手順は動作しません。 – awolf

+3

私のために働かなかった。 'new/parent/submodule'はuntrackedファイルとして、' old/parent/submodule'は削除されていました。私はサブモジュールの取り外しと読み込みを終了しました – wutz

関連する問題