为什么 git 不考虑工作树的变化?
Why git do not take into account changes at working tree?
我运行命令:
git log --topo-order -u -L 228,250:"lib/Mojolicious/Plugin/Wizard.pm"
检查 start
子例程中的更改,但 git
不考虑工作树中的更改。
看来我应该提供上次提交时的行:
git stash save
git log --topo-order -u -L 212,234:"lib/Mojolicious/Plugin/Wizard.pm"
在那之后我可以恢复藏匿。命令仍然有效(只是编辑器中的行不同。见第一张图片):
git stash pop
git log --topo-order -u -L 212,234:"lib/Mojolicious/Plugin/Wizard.pm"
是否有一个选项可以显示尚未提交的行的演变?
显然问题是为什么 git log
s -L
选项不显示未提交的差异。
简单的答案是 git log
显示来自提交日志的信息,并且在您提交(或隐藏)您的更改之前,提交日志中没有关于这些更改的信息。
在评论中,您说未提交的更改仍然是文件的演变。嗯,好的,但是 git log
通过提交日志 跟踪指定行的演变 。也许这对你没那么有用,或者不符合你对 git "should" 所做的定义,但它就是 git 所做的。
那么争论 git 的设计选择或提出 git 的功能请求的意义何在?在 SO 问题中这样做没有多大用处。
如果您想要一个 work-around... 假设它对您有用,那么进行存储可能是您将获得的最简单的解决方案。我想你可以写一个脚本来创建存储,运行 日志命令,然后弹出存储(或者创建 "temporary" 提交代表你未提交的更改)来保存这对命令的输入价值
我运行命令:
git log --topo-order -u -L 228,250:"lib/Mojolicious/Plugin/Wizard.pm"
检查 start
子例程中的更改,但 git
不考虑工作树中的更改。
看来我应该提供上次提交时的行:
git stash save
git log --topo-order -u -L 212,234:"lib/Mojolicious/Plugin/Wizard.pm"
在那之后我可以恢复藏匿。命令仍然有效(只是编辑器中的行不同。见第一张图片):
git stash pop
git log --topo-order -u -L 212,234:"lib/Mojolicious/Plugin/Wizard.pm"
是否有一个选项可以显示尚未提交的行的演变?
显然问题是为什么 git log
s -L
选项不显示未提交的差异。
简单的答案是 git log
显示来自提交日志的信息,并且在您提交(或隐藏)您的更改之前,提交日志中没有关于这些更改的信息。
在评论中,您说未提交的更改仍然是文件的演变。嗯,好的,但是 git log
通过提交日志 跟踪指定行的演变 。也许这对你没那么有用,或者不符合你对 git "should" 所做的定义,但它就是 git 所做的。
那么争论 git 的设计选择或提出 git 的功能请求的意义何在?在 SO 问题中这样做没有多大用处。
如果您想要一个 work-around... 假设它对您有用,那么进行存储可能是您将获得的最简单的解决方案。我想你可以写一个脚本来创建存储,运行 日志命令,然后弹出存储(或者创建 "temporary" 提交代表你未提交的更改)来保存这对命令的输入价值