2011-11-01 74 views
4

可以回購特定的.gitignore文件嗎?例如:在git中回收特定忽略文件

【產地】 的.gitignore:

  • foo1 *
  • foo2的*

[其他]的.gitignore:。

  • BAR1 *
  • bar2。*

這個背後的目的是我們將git部署到受管理的雲服務上,我們希望將dev文件保存在版本控制中,但不會將它們推送到回購站。

+1

忽略機制不會影響已經在git中進行跟蹤的文件。這意味着,即使您在'another'中使用'.git/info/exclude'來忽略開發者文件,如果您在那裏部署了一個包含忽略規則匹配文件的提交,它們仍會被檢出。您可以通過推送沒有提交這些文件的發佈分支來解決此問題,或者更改您的部署機制以解決此問題。 –

+0

您是否在存儲庫中跟蹤'.gitignore'文件本身? – Bruno

+0

我認爲這會是這樣的:創建一個bash腳本,將最新的工作副本合併到一個部署分支中,清理它,標記它,然後部署它的屁股 –

回答

6

是的,您可以在每個存儲庫中將每個存儲庫忽略模式.git/info/exclude

(請注意,這隻會影響什麼是每一個倉庫被忽略,也不會影響你積極放置源控制和推動下的文件。我不是你期望的使用情況完全清楚。)

0

是的,你可以,只是不能讓他們在同一個文件夾。如果您創建了一個新文件夾,那麼「部署」並在那裏發佈您的部署數據時,它將使用該文件夾中的.gitignore(而不是根目錄)。

+0

我不認爲文件夾將是一個優雅的解決方案,但您的想法激發了我使用部署分支 –

+0

部署分支是一個好主意。實際上,我們爲部署代碼時創建了兩個存儲庫,一個「代碼」回購和一個「部署」回購。我們將部署代碼發佈到每個版本的部署repo和分支,這樣我們就可以輕鬆訪問每個部署版本。我們甚至將git放在服務器上,並完成了分支機構的檢出以推送代碼。 –

0

你可能可以使用git鉤子(.git中的腳本)來做到這一點。結賬後聽起來不錯。