2014-03-07 156 views
2

爲什麼不忽略.gitignore?這是一個錯誤還是這是一個功能?我看不到任何人想分享一個.gitignore文件的任何理由。必須將.gitignore添加到.gitignore,這感覺有點諷刺。爲什麼git忽略.gitgnore?

這是否有任何理由?

+0

哪裏可以存儲關於要忽略的文件/目錄的所有信息? – Ismael

+0

還請檢查:http://git-scm.com/docs/gitignore – Blaise

+0

想象一下,如果您的同事'git clone'您的項目沒有您的'.gitignore'文件,並且他們推送那裏修改!它會使用'.gitignore'來推動你不想要的所有文件,並且下一次你拉你的項目時,你會收到他們推送的所有垃圾:/ – VivienG

回答

9

總之 - 這是一個功能。

.gitignore對於項目中的每個開發人員都不是本地文件。

您需要忽略任何人都不想提交給回購的文件和文件夾。

示例:構建文件夾,供應商文件夾(通過軟件包管理器安裝 - 例如node_modules),二進制文件。

這裏是從GitHub一個很好的幫助文章:https://help.github.com/articles/ignoring-files

你也可以檢查出github/gitignore庫的例子。

E.g. Symfony2的.gitignore無視日誌,緩存,上傳,供應商通過作曲家安裝庫和常用的二進制文件像composer.phar

# Bootstrap 
app/bootstrap* 

# Symfony directories 
vendor/* 
*/logs/* 
*/cache/* 
web/uploads/* 
web/bundles/* 

# Configuration files 
app/config/parameters.ini 
app/config/parameters.yml 

# Composer 
composer.phar 
3

這是一個特點。例如在Java中,您希望忽略所有*.class文件。因此,您的存儲庫的每個用戶都必須確保沒有提交*.class文件。因此,這是一個用於此存儲庫的所有用戶都可以使用的用例。

0

如果你從不同的角度來看它。可能會有更多的人問爲什麼git忽略.gitignore? or 如何將.gitignore添加到我的資料庫?等。將gitignore包含在repo中,將其明確地添加到gitignore中會更加麻煩。它在某種程度上看起來很怪異,但你必須克服它。

所以,這就是爲什麼它不是一個錯誤它是一個功能 !!!

0

把下面的內容中.gitignore文件,並檢查了一下自己:

* 

的Git忽略.gitignore文件!

要 '修復' 這個你必須:

* 
!.gitignore 
1

這是一個特點。

.gitignore文件的目的是確保未被Git跟蹤的某些文件保持未被跟蹤。因此應將其提交到存儲庫中,以便與任何其他克隆存儲庫的用戶共享忽略規則。

您還可以創建一個全局.gitignore文件,該文件是用於忽略計算機上每個Git存儲庫中的文件的規則列表。例如,您可以在〜/ .gitignore_global中創建該文件,併爲其添加一些規則。要將此文件添加到您的全局配置的Git,在你的終端運行下面​​的命令:

git config --global core.excludesfile ~/.gitignore_global 

如需進一步信息,您可以檢查official documentation