我有一個git子模塊,我想成爲我的主要項目的一部分(因爲我有很多項目特定的代碼將進入子模塊)。刪除git子模塊,但保留文件
所以我想刪除對子模塊的git引用並將這些文件添加到我的主git存儲庫。
但是如何?
我有一個git子模塊,我想成爲我的主要項目的一部分(因爲我有很多項目特定的代碼將進入子模塊)。刪除git子模塊,但保留文件
所以我想刪除對子模塊的git引用並將這些文件添加到我的主git存儲庫。
但是如何?
必須在您的索引中移除gitlink entry:
mv subfolder subfolder_tmp
git submodule deinit subfolder
git rm --cached subfolder
mv subfolder_tmp subfolder
git add subfolder
更換subfolder
與您的輔助模塊中的文件夾的名稱,並確保不添加任何尾隨的斜槓。
這就是我在「Remove a Git submodule?」和「un-submodule a git submodule」中詳細介紹的內容。
--cached
選項允許您保留磁盤中的子文件夾內容...除了git submodule deinit
無論如何都已經刪除了該內容。因此mv
部分。
然後您可以添加並提交該子文件夾。
的副本,但'''git submodule deinit subfolder'''刪除子文件夾內容從磁盤。 '''--cached'''選項不做任何事情,因爲內容已經消失了。 (git 1.9.2) – 2015-01-22 14:12:08
@ and-dev --cached從索引中刪除,而不是從磁盤中刪除。 – VonC 2015-01-22 14:40:20
我發現deinit命令將子文件夾放回爲空目錄。然後,mv將temp子文件夾放入新的空目錄中,而不是重命名它。所以在做最後的mv之前檢查目錄。否則,做了這份工作。 – Jason 2017-05-04 16:32:47
從VonC答案將進行刪除,除非首先重命名物理文件夾的子模塊文件夾的內容 - 如在這個答案,他的問題被指出是重複乍得:
已接受的答案已更新以反映這些問題。 – Louth 2017-02-20 00:20:49
只是遞歸刪除'.svn'文件夾 – Raptor 2014-11-05 08:22:24
這似乎是http://stackoverflow.com/questions/1759587/un-submodule-a-git-submodule – Chad 2015-04-15 17:27:59