说我在Git存储库中.我删除了一个文件并提交了更改.我继续工作,并做了一些更多的提交.然后,我发现我需要恢复该文件.
我知道我可以使用签出文件git checkout HEAD^ foo.bar,但我真的不知道该文件何时被删除.
我希望我不必手动浏览我的日志,检查整个项目的给定SHA,然后手动将该文件复制到我原来的项目结帐中.
使用条件注释很容易使用特定于浏览器的CSS规则来定位Internet Explorer:
<!--[if IE 6]>
...include IE6-specific stylesheet here...
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
有时,Gecko引擎(Firefox)行为不端.使用CSS规则而不是单个其他浏览器仅针对Firefox的最佳方法是什么?也就是说,Internet Explorer不仅应该忽略Firefox规则,还应该忽略WebKit和Opera.
注意:我正在寻找一个"干净"的解决方案.在我看来,使用JavaScript浏览器嗅探器向我的HTML添加"firefox"类并不符合要求.我宁愿看到一些取决于浏览器功能的东西,就像条件评论只对IE有"特殊"...
这是我在使用Subversion时遇到的一个奇怪的问题:当从开发分支合并到trunk(或者返回,就此而言)Subversion会将很多文件标记为已更改 - 而它们没有任何更改.
这是发生的事情:
从技术上讲,提交这些未更改的更改将没有任何区别,但我不想在我的日志中添加噪声.
知道什么可能导致这种滋扰,以及如何预防它?我可以问Subversion为什么文件被标记为已修改,所以我会知道它是文件的内容,属性等吗?
仅供参考:1.6.x范围内的subversion客户端,1.5.x范围内的服务器.在Mac OS X Leopard上使用Versions.app和CLI的组合.
背景:
我有一个功能分支A,它是我的开发分支之前的一个提交:
3 (develop, origin/develop)
| 2 (A, origin/A) some feature branch commit
|/
1 some commit
Run Code Online (Sandbox Code Playgroud)
然后我在开发(git checkout A,git rebase develop)上重新定义A ,所以我得到:
2' (A) some feature branch commit
|
3 (develop, origin/develop)
| 2 (origin/A) some feature branch commit
|/
1 some commit
Run Code Online (Sandbox Code Playgroud)
现在我再也无法推动A,origin因为Git将拒绝非快进提交.它告诉我先拉远程更改.
当我这样做然后推,我最终得到以下历史:
4 (A, origin/A) merged origin/A into A
|\
2'| some feature branch commit
| |
3 | (develop, origin/develop)
| 2 (origin/A) some feature branch commit …Run Code Online (Sandbox Code Playgroud) 我使用这个红宝石招用__END__,并DATA把我的程序文件里面的一些数据:
class Foo
def initialize()
puts DATA.read.inspect
end
end
puts DATA.read.inspect
Foo.new
__END__
test
Run Code Online (Sandbox Code Playgroud)
这会生成以下输出:
"test"
""
Run Code Online (Sandbox Code Playgroud)
我假设DATA全局都是一样的,但在课堂上它没有内容.如何__END__在课堂内访问数据(除了使用全局变量的明显和丑陋的解决方案)?
补充:我看到DATA第二次阅读两次没有给我什么.我可以使用rewind回到开始,但read然后给我我的程序的完整源代码.__END__在后续使用之后是否有更简单的方法来获取该部分DATA,或者我是否会更好地阅读它并将其存储在其他地方以备将来使用?
我用SimpleTest对一些PHP代码进行单元测试,但我遇到了麻烦.在我对数据库类的测试中,我希望能够为PHP mysql函数设置期望.在我的mail函数包装类的测试中,我想模拟PHPs mail函数.这只是一些例子.
关键是:我不(总是)想测试我的Mail类是否发送电子邮件,我想测试它如何调用该mail函数.我希望能够控制这些函数返回的内容.我希望能够测试我的数据库类,而不需要数据库,灯具和那么多.
我有一些测试Ruby代码的经验,而Test :: Unit和RSpec使得单独测试代码变得非常容易.我是测试PHP的新手,感觉我测试的内容比我需要的要多得多,以便让我的测试通过.
在SimpleTest或PhpUnit或其他一些测试框架中是否有办法使这成为可能或更容易?
我正在构建一个简单的Ruby on Rails插件,我正在考虑使用Set类.我没有看到在其他人的代码中经常使用Set类.
有没有人选择使用(子类)数组而不是集合的原因?使用套装会为某些人引入依赖性问题吗?
我觉得这很简单,但我很挣扎.我想以递归方式管理Subversion属性,因此在目录及其包含的所有文件和目录中.
在这种特殊情况下,我试图以递归方式删除某些属性,但我对通用模式感兴趣.
Subversion是否为此提供了工具(如svn propdel -R)?我在文档中找不到任何内容.如果没有,那么最简单的方法是使用shell编写脚本吗?
仅供参考:Max OS X,颠覆1.6.x.
git ×2
ruby ×2
svn ×2
css ×1
css-hack ×1
file-io ×1
firefox ×1
git-checkout ×1
merge ×1
mocking ×1
php ×1
set ×1
simpletest ×1
unit-testing ×1