2011-02-28 139 views
1

我在本地有一个rails 3应用程序。我创建了reposority,并且我知道像git这样的git的基础知识。我为heroku使用git,但是我之前没有将我的应用程序推送到公共场所。我想学的是:第一次推送到github

  1. 我应该添加到git的哪些文件忽略?因为我在environments.rb中有一些个人密码和密钥,并且在初始化程序中也有一些密钥。
  2. 如果我在git忽略中添加一些文件,我想这将是克隆它的人的问题,因为一些文件将会丢失。
  3. 我也将继续在我的应用程序上工作,我总是可以向environment.rb或其他地方添加新的密钥。我是否需要克隆(分支)我的应用程序?我听到了一些“分支,主人”,但我不知道这些条款?
+4

注意,如果如environments.rb目前由git跟踪(也就是说,你确实在某个时候提交了它),从git中删除它并忽略它并不会帮助; _你的密码和密钥在git历史记录中仍然可见!_ – 2011-02-28 12:10:31

回答

2

gitignore的想法是,经常有临时文件,或特定于您的IDE文件。他们没有向源代码添加任何内容,有时它们包含您可能不想共享的关于您的机器的明智信息。

此回购GitHub上是gitignore模板好的收集:

https://github.com/github/gitignore

Rails的模板可供选择:https://github.com/github/gitignore/blob/master/Rails.gitignore

编辑
如果你有你的文件当前配置,这对你的应用很重要,从它们中移除所有敏感信息,检查它们,然后修改gitignore文件。

如果你已经在使用密码文件中,就使用本手册:http://help.github.com/removing-sensitive-data/

+0

+1为“从历史中删除”链接;我不知道这是可能的。 – 2011-02-28 16:56:05

0

在你的根目录下创建一个.gitignore文件,并添加你不想跟踪的所有文件。确保这些文件尚未被追踪。如果是,请删除这些文件,将更改提交到git存储库,然后将这些文件添加到.gitignore文件中。

你的.gitignore文件可能看起来像这样

 

log 
db/*.sqlite3 
db/*.sql 
*.tmproj 
tmp 
coverage 
config/database.yml 
*~ 
\#*\# 
.\#* 
target/* 
**/.DS_Store 
.DS_Store