2010-12-01 358 views
9

是否有任何方法可以在您的超級項目中移動子模塊而不必先移除子模塊並重新添加它們?用Git移動子模塊

+0

這是在2010年問的。你鏈接的問題是從2011 – 2012-04-30 10:55:49

+0

當然,但另一個問題也是「更受歡迎」(例如它已超過三倍的意見,它和它的答案獲得了更多投票 - 即使接受,相同的答案)。無論如何,因爲任何接近的選票很久以前就會過期,所以沒關係。 – 2012-04-30 22:12:38

回答

5

它類似於你如何刪除子模塊(見How do I remove a submodule?):

  • 編輯.gitmodules並相應地更改子模塊的路徑,並把它在指數git add .gitmodules
  • 如果需要,創建mkdir -p new/parent
  • 移動從舊到新目錄中的所有內容:該子模塊的新位置的父目錄mv -vi old/parent/submodule new/parent/submodule
  • 與刪除舊的目錄

看起來這對我算賬:

# On branch master 
# Changes to be committed: 
# (use "git reset HEAD <file>..." to unstage) 
# 
#  modified: .gitmodules 
#  renamed: old/parent/submodule -> new/parent/submodule 
# 
  • 最後提交更改。