在GitHub上:
Eve在她的一些流行项目的fork中编写了一些代码,提交为"Eve" <eve@example.com>
,并向上游发送pull请求.
Alice没有注意到Eve的代码包含她工作的热门项目的后门,认为代码很棒,并且合并了pull请求.
后来,每个人都拥有.
爱丽丝的老板鲍勃想解雇那些登陆代码的人.他做了一个git log --full
,看到:
commit deadbeef
Author: Eve <eve@example.com>
Commit: Eve <eve@example.com>
Run Code Online (Sandbox Code Playgroud)
git log --fuller
没有帮助,Eve没有对存储库的直接推送权限.
鲍勃可以挖掘拉取请求历史记录,并找到它,但这很糟糕.有没有办法在当地解决这个问题?
这是问题:我可能有UTF-8字符串,我可能有US-ASCII字符串.无论编码如何,我都希望YAML.dump(str)实际转储String
对象,而不是!binary
像示例所示这些无用的对象.
是否有旗帜或其他东西我没有看到迫使YAML.dump()做正确的事情?
Ruby 1.9.1示例
YAML::VERSION # "0.60"
a = "foo" # => "foo"
a.force_encoding("BINARY") # => "foo"
YAML.dump(a) # => "--- foo\n"
Run Code Online (Sandbox Code Playgroud)
Ruby 1.9.3示例
YAML::VERSION # "1.2.2"
a = "foo" # => "foo"
a.force_encoding("BINARY") # => "foo"
YAML.dump(a) # => "--- !binary |-\n Zm9v\n"
Run Code Online (Sandbox Code Playgroud)
更新:得到了我自己的答案
YAML::ENGINE.yamler='syck'
YAML.dump(a) # => "--- foo\n"
Run Code Online (Sandbox Code Playgroud)
因此,看起来像使用旧的yamler引擎强制旧的行为.
在GitHub上处理pull请求时,我经常想要在没有更改的情况下合并来自分支的提交.但是,我想在合并之后提交一些东西.我不想,git commit --amend
因为这会改变我带来的提交,因此跟踪更改变得更加复杂.
git commit
除了消息之外,还有其他方法吗?原因是因为我可能想在Pull Request中提一些东西 - 一个指向测试用例的URL,或者提到一些其他的pull请求,所以Closes #123
除了原始的pull请求之外我还可以使用一个提交钩子.