如何找到文件中 "given line" 更改的提交哈希/开发人员、日期等
How to find commit hash(s) / developer(s), date etc for a "given line" change in a file
这可能是一个奇怪的问题,但我认为我应该在这里查看。
我在 Git/Hg(Mercurial) 分布式版本控制系统中有一个源代码文件。
假设在 line# 100,我看到:
if [[ `echo "${var}" | grep "system"` ]]; then env="env_system"; else env="env_local"; fi
这是否可能在 Git(或类似的 DVCS)中找到 - 我如何找到 [=24] 涉及的提交/提交散列/开发人员=] 在文件中。
如何找到哪些 Git 散列、带日期的开发人员 - 在该文件的生命周期内涉及 adding/changing 文件中的上述行?
问题第一部分的答案(本行最后修改作者)
听起来像是 git blame
的工作:
git blame -L 100,100 path/to/file
也会在您想要的信息之后输出该行本身,但对于您打算做的任何事情来说它可能已经足够了?
为了更快地使用,也许可以创建一个别名:
git config --global alias.bl '!f() { git blame -L , ; }; f'
然后
git bl 100 path/to/file
这可能是一个奇怪的问题,但我认为我应该在这里查看。
我在 Git/Hg(Mercurial) 分布式版本控制系统中有一个源代码文件。
假设在 line# 100,我看到:
if [[ `echo "${var}" | grep "system"` ]]; then env="env_system"; else env="env_local"; fi
这是否可能在 Git(或类似的 DVCS)中找到 - 我如何找到 [=24] 涉及的提交/提交散列/开发人员=] 在文件中。
如何找到哪些 Git 散列、带日期的开发人员 - 在该文件的生命周期内涉及 adding/changing 文件中的上述行?
问题第一部分的答案(本行最后修改作者)
听起来像是 git blame
的工作:
git blame -L 100,100 path/to/file
也会在您想要的信息之后输出该行本身,但对于您打算做的任何事情来说它可能已经足够了?
为了更快地使用,也许可以创建一个别名:
git config --global alias.bl '!f() { git blame -L , ; }; f'
然后
git bl 100 path/to/file