解決子模組在對應上的問題
因為之前的2016fallcadp_hw倉儲少複製了一些東西,刪除舊的倉儲後,重新做一個和之前倉儲同名的2016fallcadp_hw倉儲,但是在小組倉儲所連結的子模組,抓不到新倉儲連結,所以我們需要重新加入一次組員倉儲的資料
以為只要再輸入一次指令就可以讓程式抓最新的子模組近來
Y:\tmp\2016fallcadp_bg6>git submodule add -b gh-pages https://github.com/40423214/2016fallcadp_hw.git 40423214 '40423214' already exists in the index
但是程式告訴我們40423214的子模組已經在裡面,所以在試著用git rm 40423214 -f 來刪除存放該子模組資料的資料夾,然後再git submodule add的一次組員倉儲的資料
Y:\tmp\2016fallcadp_bg6>git submodule add -b gh-pages https://github.com/40423214/2016fallcadp_hw.git 40423214 A git directory for '40423214' is found locally with remote(s): origin https://github.com/40423214/2016fallcadp_hw.git If you want to reuse this local git directory instead of cloning again from https://github.com/40423214/2016fallcadp_hw.git use the '--force' option. If the local git directory is not the correct repo or you are unsure what this means choose another name with the '--name' option.
程式告訴我們還有資料沒刪除乾淨,於是我們再執行一次刪除的指令
Y:\tmp\2016fallcadp_bg6>git rm 40423214 -f fatal: pathspec '40423214' did not match any files
然而程式說找不到任何有關該名稱的文件資料,後來我們發現submodule內的設定並沒有也因此刪除,要刪除submodule的設定有兩個方法
解決方法一
從SciTE打開,在2016fallcadp_bg6資料夾內的.gitmodules檔案,把該組員的子模組設定刪除後就可以存檔
[submodule "40423206"] path = 40423206 url = https://github.com/40423206/2016fallcadp_hw.git branch = gh-pages [submodule "40423224"] path = 40423224 url = https://github.com/40423224/2016fallcadp_hw.git branch = gh-pages [submodule "2016fallcadp_hw"] path = 2016fallcadp_hw url = https://github.com/40423226/2016fallcadp_hw.git branch = gh-pages [submodule "40423229"] path = 40423229 url = https://github.com/40423229/2016fallcadp_hw.git branch = gh-pages [submodule "40423214"] path = 40423214 url = https://github.com/40423214/2016fallcadp_hw.git branch = gh-pages [submodule "40423216"] path = 40423216 url = https://github.com/40423216/2016fallcadp_hw.git branch = gh-pages
如果有打下面的指令,把各組員子模組的資料抓近來,記得要把2016fallcadp_bg6\.git\modules裡該組員的隱藏資料夾刪掉
git submodule update --init --recursive
就可以重新執行指令,把組員的子模組加進來
git submodule add -b gh-pages https://github.com/40423214/2016fallcadp_hw.git 40423216
解決方法二
直接依序執行以下的指令
git submodule deinit asubmodule git rm asubmodule # Note: asubmodule (no trailing slash) # or, if you want to leave it in your working tree git rm --cached asubmodule
但是在2016fallcadp_bg6\.git\modules裡的隱藏資料夾,還是需要自己動手刪除