2010-01-04 96 views
7

是否可以忽略git 中的特定文件僅適用於某些遙控器?例如,我將AWS S3憑證(s3.yml)存儲在Heroku上託管的應用程序的文件中,因此我需要將s3.yml複選到我的回購庫中以供部署工作。不過,我也想將源代碼發佈到GitHub上,所以我會明智地將s3.yml保留在回購站之外。我會想象它的工作原理類似於基於遠程的git忽略文件?

#.gitignore 
github:config/s3.yml 

但是在git文檔中找不到任何東西。這可能嗎?或者我需要維護兩個單獨的回購?

謝謝!

回答

3

如果您按原樣發佈該文件,該文件將始終存儲在回購站中。即使你創建了一個分支並將該文件用git-rm命令,人們總是能夠檢出仍然存在該文件的版本。我沒有看到使用單個存儲庫的任何方法,同時保持遠程單個文件不可訪問。

核心問題是,作爲一個分佈式SCM,每個存儲庫都有完整的修訂歷史記錄。由於更改表是基於其內容進行加密簽名的,因此無法在不添加每個更改列表的情況下刪除文件,直到添加文件時爲止。這是git可以做的事情,但此時您有兩個獨立的存儲庫,無法直接/輕鬆地推/拉。

+0

我有點期待如此。我只是希望git們爲我們工作 - 畢竟他們非常聰明:D – trydionel 2010-01-04 21:38:18

3

Heroku有這種事情的config-vars。他們的意見似乎是s3信息不應該被檢入Git。請查看this link瞭解更多關於他們如何期待這類事情的信息。

+0

偉大的鏈接 - 我以前沒有見過。它肯定會照顧這個例子! – trydionel 2010-01-04 21:36:21