git - 找出文件中某一行的所有GIT变化

标签 git

我有一行代码最近被更改为非工作状态。

我如何找出谁以及在哪个提交中更改了这一特定行?

我试过了

git log -some_distinct_string_from_that_line --pretty=format:'%h %an -- %s -- %ad'

它显示了所有提交的评论和作者更改了一行包含“one_distinct_string_from_that_line”的任何内容,但我如何才能看到他们所做的实际更改?

编辑:
我还安装了 git-gui 并查看了带有 git gui blame filename 的行,但是显示的那行只有一个提交更改,尽管肯定有更多更改。

我检查了图形化的 gui smartgit 以手动查看对该文件所做的所有更改,我发现了 3 个提交,其中该行肯定被编辑了(一个 # 首先被删除,然后在另一个提交再次添加)

是否有另一种方式不依赖于 git blame 功能,并且不依赖于该行位于提交差异中的假设?

最佳答案

git blame 。 -L 选项采用一定范围的行,您可以像 git log 一样选择一个文件。所以 git blame -L 10,20 -- my/file.txt 将显示触及该文件中每一行的最新 git 提交。 git gui blame my/file.txt 做同样的工作,但有一个 UI 让你及时浏览。

关于git - 找出文件中某一行的所有GIT变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27443412/

相关文章:

Git 提交未显示在 Github 网页上

git - 突然无法 git fetch from origin

linux - "Unable to find remote helper for ' https '"在 git 克隆期间

git - 如何更新使用 GitHub "Deploy to Heroku"按钮创建的 Heroku 应用程序?

git - 为别名命令添加 'git help'?

windows - 是否有用于在 Windows 上的 git 中管理大型二进制文件的工具?

git - 如何为包含空格的文件定义 .gitattributes 规则?

git - 如何比较 Git 中的变更集?

git - 在 Windows 安装的 Git Bash 中更改 ~ 目录的位置

python - 在德威,我如何提交到一个分支而不是 HEAD?