在 ruby/grit 中,如何获取特定提交中更改的文件列表?
我想要一份受 git 中某个提交影响的文件列表。通过命令行,我可以使用以下命令执行此操作:
git show --pretty="format:" --name-only (sha)
但是如何通过 Ruby 中的 Grit 执行此操作?
I want a list of files affected by a certain commit in git. Through the command line, I can do this with:
git show --pretty="format:" --name-only (sha)
But how can I do this through Grit in Ruby?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用
your_commit.diffs
来返回Grit::Diff
实例的数组。Grit::Diff
具有a_path
和b_path
属性。一些(未经测试的)示例代码:
You can use
your_commit.diffs
which returns an array ofGrit::Diff
instances.Grit::Diff
hasa_path
andb_path
properties.Some (untested) example code:
由于 Grit 的 git 模块使用 method_missing 来 shell ,你也可以尝试:
grit.git.show({ :pretty => :format, :name_only => true}, sha)
Since Grit's git module employs method_missing to shell out, you can also try:
grit.git.show({ :pretty => :format, :name_only => true}, sha)