2012-11-28 98 views
1

我的回購中有一個子目錄,用於停止跟蹤更改。我可以將abc.php文件添加到某個級別以上的任何目錄,並且git status返回預期的結果,但是一旦我將abc.php添加到有問題的子目錄(或更改現有文件),git status就會變空。我相信子目錄使用擁有它自己的git回購,但我可能是錯的。git:在子目錄中忽略的更改

我看到git update-index --really-refreshmay be an option,但我很擔心,因爲我將其他git項目添加到「兄弟」目錄到有問題的目錄。 (我沒有我的父母回購內做任何事情來確認這些,所以希望那也可以。)

也就是說,我有

  1. ... DIR /自定義(其中變化忽略DIR)
  2. ... DIR/sibling1(兄弟DIR 1與自己的git倉庫)
  3. ... DIR/sibling2(具有自己的git倉庫兄弟DIR 2)

的dir的每個父目錄和上述具有沒有問題,並按預期工作。

我的主要問題:我應該關心運行這給定上述結構?我還想問一下,我是否有在回購協議中對回購協議做了什麼(即以某種方式將它們聲明爲子模塊)?

謝謝。

+0

是否有任何指定自定義目錄的'.gitignore'文件?在自定義目錄中是否有'.git'子目錄? (使用'ls -a'顯示以點開頭的隱藏名稱。) –

+0

我應該提到這兩種情況都不是這種情況,儘管如此,可能用於包含已刪除的.git目錄的目錄也是如此。 – Webdrips

+0

有沒有機會在你的回購頂層有'.gitmodules'文件? –

回答

1

好的好,我需要運行以下兩個命令來得到它的工作:

git rm --cached path_to_subdir (no trailing slash) 

git add path_to_subdir/* 

基於試圖在原來的職位(git update-index --really-refresh)運行命令,當我看到消息,有曾經是子目錄中不是removed properly的git repo,並且從未聲明爲子模塊。

+0

好的決議,比我的答案更精確。 +1 – VonC

0

兩個可能性:

  • 無論是目錄本身被忽略(在.gitignore文件中的任何父目錄)
  • 或者有被忽略的目錄中的.git目錄,使其成爲一個嵌套的混帳回購協議(其狀態將被父回購忽略)。