我经常会有如下工作流程:
我无法使用,git commit --amend因为它不是我需要更改的最新提交.在不触及第二次提交的情况下,将更改添加到第一次提交的最佳方法是什么?
我的vimrc中有以下内容:
set foldmethod=syntax
set foldnestmax=3
set nofoldenable
Run Code Online (Sandbox Code Playgroud)
当我打开文件时,没有按预期折叠.我第一次使用zc时关闭折叠,它会递归地关闭所有可能的折叠.然后我发布zR它并将它们全部显示出来,然后zc按预期运行,一次关闭一个折叠.看起来za行为方式相同; 它第一次折叠一切,每次折叠后都会折叠一件事.
有没有办法让zc总是靠近一个折?我基本上试图消除"关闭一切,然后揭示一切"的步骤,我必须做任何时候我想要折叠的东西.
我有一个已经运行了一段时间的Rails应用程序,我打算在不久的将来开源它.我想知道在应用程序运行时将会话密钥库保密在源代码控制中是多么危险.
如果危险,人们通常如何处理这个问题?我想最简单的方法是将字符串移动到SCM忽略的文本文件中,稍后再读取.
为了清楚起见,我在谈论这个:
# Your secret key for verifying cookie session data integrity.
# If you change this key, all old sessions will become invalid!
# Make sure the secret is at least 30 characters and all random,
# no regular words or you'll be exposed to dictionary attacks.
ActionController::Base.session = {
:key => '_application_session',
:secret => '(long, unique string)'
}
Run Code Online (Sandbox Code Playgroud)
虽然我们正在研究这个主题,但在开源实时应用程序时,是否应该保护默认Rails应用程序中的其他内容?
一,工作实例:
string = "foo-bar-25-baz"
if string =~ /(.+)-(10|25)(?:-(baz))?/
puts $1
puts $2
puts $3
end
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,它在三行上产生'foo-bar','25'和'baz'.但是如果我们这样做:
string = "foo-bar-25-baz"
if string =~ /(.+)-(10|25)(?:-(baz))?/
puts $1.gsub('-', ' ') # Here be the problem
puts $2 # nil
puts $3 # nil
end
Run Code Online (Sandbox Code Playgroud)
的价值$2和$3现在是零.我要puts $2和puts $3和,然后 $1.gsub(...),它会工作.据我所知,这只适用于gsub和gsub!
这会导致同样的问题:
string = "foo-bar-25-baz"
if string =~ /(.+)-(10|25)(?:-(baz))?/
puts $3.gsub('hard', 'h')
puts $1 # nil
puts $2 # nil
end
Run Code Online (Sandbox Code Playgroud)
我花了大约15分钟调试这个,我想知道为什么.