如何在.gitignore中指定路径?

时间:2017-12-04 14:15:07

标签: ruby-on-rails git

我正在开发一个Ruby on Rails应用程序,使用git在利益相关者之间同步代码。该应用程序具有发送电子邮件的能力。每个利益相关者都有自己的SMTP提供商,在提供期间在config/initializers/smtp.rb中定义。

ActionMailer::Base.smtp_settings = {
    address: "smtp.emailme.com",
    port: 587,
    domain: "emailme.com",
    authentication: "plain",
    enable_starttls_auto: true,
    user_name: "me@emailme.com",
    password: "Password"
    }

.gitignore文件定义为:

*.rbc
capybara-*.html
.rspec
/log
/tmp
/public/system
/coverage/
/spec/tmp
**.orig
rerun.txt
pickle-email-*.html

## Environment normalization:
/.bundle
/vendor/bundle

# these should all be checked in to normalize the environment:
# Gemfile.lock, .ruby-version, .ruby-gemset
Gemfile~

config/initializers/smtp.rb

.gitignore文件在Github和我的计算机上是相同的。我试着指定

  

配置/初始化/ smtp.rb

  

/config/initializers/smtp.rb

但无论如何,我的计算机上的smtp.rb文件会被Github上的文件覆盖。反之亦然。 我错过了什么?

2 个答案:

答案 0 :(得分:1)

如@oliver所述,该文件不应存在于git上。您可以通过执行

从git中删除该文件
--cached

请注意.gitignore,这一点非常重要,否则您可能会丢失本地目录中的文件。此选项仅从repo中删除文件。

如果您要将目录添加到javafx.application.Application:

,请参阅:Remove directory from remote repository after adding them to .gitignore

谢谢!

答案 1 :(得分:0)

.gitignore 会告诉git忽略git当前未跟踪的文件的更改。

运行cp config/initializers/smtp.template.rb config/initializers/smtp.rb以阻止git跟踪文件的未来更改。

使用虚拟值创建{{1}},然后提交+推送您的更改。

指示任何新的利益相关者运行{{1}}并在设置开发环境时更新文件。