如何更改git子模塊的遠程存儲庫?

我已經建立了一個帶有子模塊的git存儲庫。 我可以告訴子模塊自己更改其遠程存儲庫路徑,但我不知道如何告訴父存儲庫如何更改子模塊的遠程存儲庫路徑。 git

若是我有點不幸而且必須手動操做,我不會感到驚訝,由於即便刪除子模塊也不容易。 github


#1樓

什麼對我有用(在Windows上,使用git版本1.8.3.msysgit.0): vim

  • 使用新存儲庫的路徑更新.gitmodules
  • 從「.git / config」文件中刪除相應的行
  • 刪除「.git / modules / external」目錄中的相應目錄
  • 刪除簽出的子模塊目錄(不肯定是否有必要)
  • 運行git submodule initgit submodule update
  • 確保簽出的子模塊處於正確的提交狀態,而後提交,由於散列可能會有所不一樣

完成全部這些以後,一切都處於我指望的狀態。 我認爲存儲庫的其餘用戶在更新時會有相似的痛苦 - 在提交消息中解釋這些步驟是明智的! 編輯器


#2樓

這些命令將在命令提示符下完成工做,而不會更改本地存儲庫上的任何文件 url

git config --file=.gitmodules submodule.Submod.url https://github.com/username/ABC.git
git config --file=.gitmodules submodule.Submod.branch Development
git submodule sync
git submodule update --init --recursive --remote

請查看博客中的屏幕截圖: 將GIT子模塊更改URL / Branch到同一存儲庫的其餘URL /分支 spa


#3樓

git config --file=.gitmodules -e打開默認編輯器,您能夠在其中更新路徑code


#4樓

簡單來講,您只須要編輯.gitmodules文件,而後從新同步和更新: rem

經過git命令或直接編輯文件: get

git config --file=.gitmodules -e

要不就: 同步

vim .gitmodules

而後從新同步和更新:

git submodule sync
git submodule update --init --recursive --remote

#5樓

您應該只能編輯.gitmodules文件來更新URL,而後運行git submodule sync以反映對超級項目和工做副本的更改。

相關文章
相關標籤/搜索