2013-05-21 70 views
3

我的init文件夾。添加所有文件提交它們並推送它們。一切都很好看......但我錯過了一些文件和文件夾。git沒有推空文件夾

爲了例如我的.gitignore文件

web/images/uploaded_profile_pictures/* 

不過應該uploaded_profile_pictures文件夾...怎麼寫的的.gitignore忽略文件夾的只有內容..並保持文件夾?

第二個問題...爲什麼有缺少的內容?

推後

enter image description here

+0

你不能犯一個空文件夾,因爲內部Git並不認爲在文件夾中:
一個更優雅的方式(在我看來)將文件夾web/images/uploaded_profile_pictures一個名爲.gitignore文件,其中包含以下中有和文件,但在一個大的二進制blob – Uroc327

回答

5

不能有文件夾,沒有Git代碼庫文件,Git會始終忽略空文件夾(或包含僅被忽略的文件夾)。一個常用的解決方法是在你想包含在你的Git倉庫中的空目錄中創建佔位符文件。

touch web/images/uploaded_profile_pictures/.empty 
git add web/images/uploaded_profile_pictures/.empty 

現在的.gitignore

web/images/uploaded_profile_pictures/* 
!web/images/uploaded_profile_pictures/.empty 
# or just 
!.empty 

這將使混帳忽略該文件夾中的所有文件除外.empty,讓您的文件夾添加到回購。

對於第二個問題:什麼樣的文件丟失?那些只是隨機的嗎?

+0

嗯......我不知道.. thx。嗯..我不這麼認爲...缺少的文件(不知道是否所有的人)第一次以某種方式...作爲git子模塊..但比我從這個文件夾中刪除所有.git文件夾... git狀態是顯示(乾淨),推tham到服務器......但我不知道他們爲什麼失蹤... – EnchanterIO

1

正如在他的評論中提到@ Uroc327,git的不處理「文件夾和文件」,而是它使用的「內容」。

這意味着一個空文件夾根本就不存在於git中。

這是一個普遍的問題,而最簡單的辦法就是一些「虛假內容」(一個空文件)添加到文件夾。

正如@jwhy說,你可以創建一個名爲empty文件。

* 
!.gitignore 
+0

好吧我知道現在thx,但主要問題是現在缺少的文件(不知道是否所有的人)是第一不知何故...作爲git子模塊..但比我從這個文件夾中刪除所有.git文件夾... git狀態顯示(乾淨),並推動tham到服務器......但我不知道他們爲什麼失蹤... – EnchanterIO

相關問題