我刚开始使用Git,我正在寻找一种方法来获取文件所经历的修订数量。
现在我正在使用命令:
git diff master~(arbitrary number) main.js
我怎么知道这个数字有多高?我也想获得每个修订的日期..谢谢!
答案 0 :(得分:1)
git-log
是你的朋友。
git log --pretty=oneline main.js | wc -l
git log还有一些与diff和patch相关的选项。试试
git log -p main.js
编辑:正如 Iamamac 在下面的评论中指出的,上面给出了对文件进行的编辑次数。您真正想要的是自首次检入文件到主服务器以来的提交次数。 <怎么样
git log master --oneline `git log master --reverse --pretty=%H main.js | head -1`..master | wc -l
这应该适用于任何分支机构。谢谢你提出这个问题。我已经将git-master-diff添加到包含
的bin文件夹中#!/usr/bin/env bash
git diff master~$(git log master --oneline `git log master --reverse --pretty=%H $@ | head -1`..master | wc -l ) $@
应该派上用场。
答案 1 :(得分:1)
试试这个
git log --pretty="format:%ai | %s" main.js
修订以及日期。您可以通过wc -l
管道修改数量。要打印不同的信息,请尝试
git help log
并查看format:
选项的--pretty
参数。
答案 2 :(得分:0)
在git中,历史记录通常是非线性的,这就是使用SHA-1来表示提交而不是修订号的原因。
我建议你使用
git log -p filename
或
git blame filename
查看文件的历史记录,如果这是你想要的。
如果你坚持,就会这样做:
git log --pretty=oneline `git log --reverse --pretty=%H filename | head -1`.. | wc -l