2011-05-23 85 views
2

我知道這很奇怪,因爲git不應該保留空目錄。這是我做過什麼:添加文件到git當目錄已經添加

git add directory 
git commit 

directory有文件,這也是我要添加,但只有其中的一些。但是,沒有添加任何文件,現在我無法添加任何文件。

當我將存儲庫克隆到不同的位置時,我可以清楚地看到directory是空的。

當我嘗試添加文件directory與git這樣的:

git add directory/file 

我得到一個錯誤fatal: Path 'directory/file' is in submodule 'directory'

我如何添加這個文件?

回答

5

這不是一個空目錄,這是一個子模塊。關於如何處理它們,請閱讀ProGit: Submodulesman git-submoule

尤其是:如果克隆與子模塊的倉庫,你應該初始化子模塊過於

# git clone ... 
git submodule init 
git submodule update 
0

如前所述,這是一個子模塊。空目錄需要位於包含(父)回購協議中。子模塊有它自己的克隆網址。

在克隆問題

git submodule update --init 

,你是好去(前提是你有訪問子模塊的克隆URL)

+1

我認爲這是令人困惑的是指一個存儲庫作爲「 master「,因爲它在git中的主要分支的標準使用:)而且,在克隆的存儲庫中,您需要執行'git submodule update --init',否則會出現錯誤,指出子模塊尚未初始化。 – 2011-05-23 09:22:19

+0

啊,我這樣做往往不足以記住init;我敢打賭,這是'更新'會每次告訴我的東西:) – sehe 2011-05-23 09:25:06