2017-07-12 32 views
0

我有我的回購與剛剛一行遷移子模塊的gitdir爲「在樹」

gitdir: ../.git/modules/mysubmodule 

但是一個git的文件中的子模塊,gitlab的CI亞軍似乎也與此問題gitdir聲明,所以我想將../.git/modules/mysubmodule移動到./mysubmodule/.git

我這樣做是使用mv 我沒有使用git mv,因爲該命令

fatal: cannot move directory over file, source=.git/modules/mysubmodule, destination=mysubmodule/.git 

抱怨我也移除了mysubmodule/.git/config文件worktree線。但是,當我想提交更改(或者超級項目或子模塊)時,git列出了沒有提交的更改。

這就是爲什麼我想知道如何將gitdir移動到另一個路徑?

回答

1

看到.git./mysubmodule/.git git仍然認爲mysubmodule作爲子模塊,並沒有顯示它作爲superrepo的一部分。

如果您想刪除子模塊並直接重新添加它們應該是remove submodules並且在沒有.git子目錄的情況下添加它們。

或從git submodule切換到git subtree。看到https://github.com/git/git/blob/master/contrib/subtree/git-subtree.txthttps://medium.com/@v/git-subtrees-a-tutorial-6ff568381844

+0

聽起來不錯,我刪除了子模塊,但我如何添加它,而無需使用gitdir條目創建.git文件? – user3637203

+1

複製代碼而不是'.git /。然後,您將不得不手動更新所有內容。 – phd

+0

這工作!謝謝! – user3637203