我有一个文本文件(.yml),我输入一些文本供我的系统使用。但现在我们需要立刻知道新的线路。我想用git来解决我们的问题,但我找不到明确的命令来做到这一点。
这可能吗?
答案 0 :(得分:11)
您可以获得类似的提交列表:
git log --abbrev-commit --pretty=oneline
这应该是这样的:
commitD Description
commitC Description
commitB Description
commitA Description
选择您的两个提交并在下面替换它们:
git diff <commitA>..<commitB> -- /path/to/file
答案 1 :(得分:3)
您可以使用一个命令行执行此操作:
git diff -w `git rev-list HEAD --reverse | head -1`..HEAD -- <path/file>
使用--reverse计数为1(-1 / --max-count 1)...不起作用,因为它在截断后反转结果列表。因此,要么使用--reverse与head命令一起使用,要么使用tail -1。
由于行结尾和制表符与空格的使用,我不得不为我的用法添加-w。
如果在第一次提交中未添加文件,则可能无法正常工作!您可以将以上行更改为:
git diff -w `git rev-list HEAD --reverse -- <path/file> | head -1`..HEAD -- <path/file>