小编avd*_*aag的帖子

在Git存储库中查找并恢复已删除的文件

说我在Git存储库中.我删除了一个文件并提交了更改.我继续工作,并做了一些更多的提交.然后,我发现我需要恢复该文件.

我知道我可以使用签出文件git checkout HEAD^ foo.bar,但我真的不知道该文件何时被删除.

  1. 找到删除给定文件名的提交的最快方法是什么?
  2. 将该文件恢复到我的工作副本的最简单方法是什么?

我希望我不必手动浏览我的日志,检查整个项目的给定SHA,然后手动将该文件复制到我原来的项目结帐中.

git file-io git-checkout

2716
推荐指数
20
解决办法
93万
查看次数

仅使用CSS定位Firefox

使用条件注释很容易使用特定于浏览器的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有"特殊"...

css firefox css-hack

595
推荐指数
8
解决办法
55万
查看次数

Subversion将未修改的文件标记为已修改

这是我在使用Subversion时遇到的一个奇怪的问题:当从开发分支合并到trunk(或者返回,就此而言)Subversion会将很多文件标记为已更改 - 而它们没有任何更改.

这是发生的事情:

  1. 在我的分支中我提交了1个修改过的文件
  2. 在trunk中我合并了那个提交
  3. 许多其他文件和目录被标记为"已修改"而实际上没有被更改(甚至没有空格,行结尾,属性或那种东西).

从技术上讲,提交这些未更改的更改将没有任何区别,但我不想在我的日志中添加噪声.

知道什么可能导致这种滋扰,以及如何预防它?我可以问Subversion为什么文件被标记为已修改,所以我会知道它是文件的内容,属性等吗?

仅供参考:1.6.x范围内的subversion客户端,1.5.x范围内的服务器.在Mac OS X Leopard上使用Versions.app和CLI的组合.

svn merge

30
推荐指数
3
解决办法
1万
查看次数

Git:在本地rebase之后重复提交,然后拉

背景:

我有一个功能分支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)

git

19
推荐指数
1
解决办法
8183
查看次数

__END__之后的Ruby范围的DATA

我使用这个红宝石招用__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,或者我是否会更好地阅读它并将其存储在其他地方以备将来使用?

ruby

16
推荐指数
1
解决办法
6607
查看次数

在单元测试中模拟PHP函数

我用SimpleTest对一些PHP代码进行单元测试,但我遇到了麻烦.在我对数据库类的测试中,我希望能够为PHP mysql函数设置期望.在我的mail函数包装类的测试中,我想模拟PHPs mail函数.这只是一些例子.

关键是:我不(总是)想测试我的Mail类是否发送电子邮件,我想测试它如何调用该mail函数.我希望能够控制这些函数返回的内容.我希望能够测试我的数据库类,而不需要数据库,灯具和那么多.

我有一些测试Ruby代码的经验,而Test :: Unit和RSpec使得单独测试代码变得非常容易.我是测试PHP的新手,感觉我测试的内容比我需要的要多得多,以便让我的测试通过.

在SimpleTest或PhpUnit或其他一些测试框架中是否有办法使这成为可能或更容易?

php unit-testing simpletest mocking

12
推荐指数
1
解决办法
5900
查看次数

在Ruby中使用集合

我正在构建一个简单的Ruby on Rails插件,我正在考虑使用Set类.我没有看到在其他人的代码中经常使用Set类.

有没有人选择使用(子类)数组而不是集合的原因?使用套装会为某些人引入依赖性问题吗?

ruby set

4
推荐指数
1
解决办法
1058
查看次数

Recurse Subversion属性

我觉得这很简单,但我很挣扎.我想以递归方式管理Subversion属性,因此在目录及其包含的所有文件和目录中.

在这种特殊情况下,我试图以递归方式删除某些属性,但我对通用模式感兴趣.

Subversion是否为此提供了工具(如svn propdel -R)?我在文档中找不到任何内容.如果没有,那么最简单的方法是使用shell编写脚本吗?

仅供参考:Max OS X,颠覆1.6.x.

svn

4
推荐指数
1
解决办法
188
查看次数

标签 统计

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