如何使用git diff只对diff .cs文件

时间:2010-06-25 15:24:19

标签: git

我试图只传出.cs文件,我使用: git diff HEAD - ./*.cs 它只是没有用。请注意,不同目录下有几个cs文件。 什么是正确的命令?

谢谢!


我在windows中使用msysgit。我决定为它编写一个python脚本。这是:

import os
screenOutput = os.popen('git status').read()
lines =screenOutput.splitlines()
keyword = 'modified:'
cmd = 'git diff HEAD -- '
for line in lines:
    index = line.find(keyword)
    if(index >= 0):
        line = line[index + len(keyword) + 1:].strip()
        if(line.endswith('.cs')):
            cmd += (line + ' ')
os.system(cmd)     

该脚本捕获'git status'输出,使用关键字'modified:'搜索该行,并获取修改后的文件名。它很丑。但它的确有效。它可以扩展为处理参数。

3 个答案:

答案 0 :(得分:2)

我可能会尝试git diff HEAD -- $(find . -name '*.cs'),以便为每个人提供完整的路径。不确定这是否有效,但它可能会起作用。

答案 1 :(得分:2)

git diff HEAD -- "*.cs"应该有用。

答案 2 :(得分:1)

git diff **/*.cs为我做了。