使用GIT获取文件的修订数量

时间:2009-12-29 07:51:44

标签: git

我刚开始使用Git,我正在寻找一种方法来获取文件所经历的修订数量。

现在我正在使用命令:

git diff master~(arbitrary number) main.js

我怎么知道这个数字有多高?我也想获得每个修订的日期..谢谢!

3 个答案:

答案 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