代码之家  ›  专栏  ›  技术社区  ›  Otto

git日志输出,如svnls-v

  •  6
  • Otto  · 技术社区  · 17 年前

    filea.txt     Someone Else
    fileb.txt     Another Person
    

    也许甚至可以通过SHA来确定发生变化的原因?

    3 回复  |  直到 17 年前
        1
  •  9
  •   CB Bailey    17 年前

    在git中,这不是一个很自然的问题,但您可能可以用这样的东西实现您想要的东西。

    for a in $(ls); do git log --pretty=format:"%h%x09%an%x09%ad%x09$a" -1 -- "$a"; done
    

    这将遍历当前目录中的每个文件并执行 git log 在它上查找影响它的最后一次提交。

        2
  •  7
  •   dylanfm    17 年前

    你想和我一起玩吗 git log 而且它的格式很漂亮。下面的示例并不能完全满足您的需求,但可以帮助您实现目标:

    git log --pretty=format:"%h: %s -- %an"
    

    印刷品:

    ...
    58a2e46: Added readme for github. -- DylanFM
    ...
    
        3
  •  2
  •   Jakub Narębski adamtaub    17 年前

    问题是:你为什么需要它?目前git缺少一个可以执行“svnls-v”等效命令的命令,您需要编写一些脚本:“git log-1--$filename”的想法是,我认为,最简单的解决方案(就要编写的脚本行数而言);如果会的话,它可能会被称为“吉特指责”。

    但我想有另一种方法可以解决您的问题,您使用“svn ls-v”来解决。

    还请记住,对于非线性历史,最后更改文件的人的概念并不明确。