2016-10-15 45 views
0

我在GitHub上保存了一個存儲庫,但我無法同步我的一些目錄,因爲它們顯示爲子模塊(灰色文件夾符號)。我已經嘗試去除子模塊的步驟,但它們不起作用(git無法識別任何要提交的步驟)。如果我使用在github上顯示爲子模塊的正常目錄

git add dir/* 

,而不是

git add dir 

我得到錯誤信息

致命:Pathspec '目錄/子目錄' 是子模 '目錄'

但是

git submodule deinit dir/ 

沒有在.gitmodules發現路徑 '目錄' 子模塊映射。

我沒有.gitmodules文件開始。 我意識到錯誤發生在合併分支時,新的目錄不會被推送到GitHub。

回答

0

嵌套存儲庫是一個子模塊。如果你不給submodule命令一個名字和任何其他可能有用的路徑信息,它就不能做任何事情 - 就像你可以使用遠程倉庫,push和fetch以及ls-remote等一樣on,但git remote命令不能真正做任何事情,除非你告訴它一個名字,並且任何其他信息可能對遠程路徑或url有用。

+0

我真的不明白這對我意味着什麼,因爲我對git很陌生。我從來沒有打算嵌套我的存儲庫,這是否意味着我必須在我的目錄中搜索不需要的'.git'目錄?我只是在分支上做了一些工作,然後想再次將它合併到我的項目中。我給了submodule命令名稱'dir'來處理。 – DerWeh

+0

好吧,_somebody_將這些嵌套的存儲庫放在工作區中。據我所知,「git init」和「git clone」通常不會被認爲很容易無意識地輸入。 – jthill

+0

我完全意識到我必須做錯了什麼,否則就不會有任何問題。問題仍然是一樣的,我該如何解決它? – DerWeh

0

一個醜陋的解決方法是簡單地壓縮有問題的目錄。它並沒有真正解決問題,但至少可以備份目錄。