是否可以'git status`只修改文件?

时间:2012-04-04 20:10:59

标签: git

是否可以git status并仅显示已修改的文件?

问题是我有太多的暂存文件,我现在不想提交或gitignore,我无法向上滚动。我在Ubuntu上设置了回滚限制。

16 个答案:

答案 0 :(得分:221)

您无法使用git status执行此操作,但可以使用git ls-files -m来显示所有已修改的文件。

答案 1 :(得分:47)

看起来git status -uno只显示git正在跟踪的文件,而不显示目录中的任何其他内容。不完全是你要求的,但也许完成同样的事情(得到一个可读长度的git轨道文件列表)。

答案 2 :(得分:26)

git status -s | awk '{if ($1 == "M") print $2}'

答案 3 :(得分:23)

对于修改过的文件:

git status | grep modified:

答案 4 :(得分:8)

git diff --name-only --diff-filter=M

答案 5 :(得分:6)

git diff --name-only也有效。

答案 6 :(得分:3)

我一直在寻找相同的信息,发现以下给出了修改后的文件:

git status -uno

答案 7 :(得分:2)

要列出修改后的文件,请使用:

git ls-files -m

如果您只想要基本名称(无路径),那么您可以使用xargs逐行将每个结果传递给basename命令:

git ls-files -m | xargs -L 1 basename

答案 8 :(得分:1)

我使用以下命令:

$ git status -uno -sb

输出看起来像这样:

## master...origin/master
 M GNUmakefile
 M include/mp4v2/project.h

答案 9 :(得分:0)

我使用git cola。它是一个简单而优雅的UI客户端,它将向您显示已修改的文件,并为您提供所做更改的差异镜头。

git cola为您提供了一个GUI,您可以在其中可视化您修改的文件,您上演的文件,甚至是您不跟踪的文件。你的问题是我只相信使用git状态,但我认为git cola可以帮助那些和其他东西。从更多信息中查看此网页:git-cola.github.com/screenshots.html

答案 10 :(得分:0)

如果您要列出已修改文件,可以执行以下操作:

formcontent

答案 11 :(得分:0)

要列出所有已修改的文件,请使用:

git show --stat --oneline HEAD

答案 12 :(得分:0)

所有好的答案;只是FEI,“ git checkout”(切换到同一分支或在同一分支中)似乎仅显示已修改的文件。

答案 13 :(得分:0)

您可以使用

$ git status -uno 

仅列出修改过的文件。

答案 14 :(得分:0)

  

问题是我目前暂无太多暂存文件或gitignore,无法向上滚动。

虽然这可能无法直接回答仅列出已修改文件的问题,但可能有助于限制列出的文件数量。

您可以将路径传递到git status,以将输出限制到存储库中的特定文件夹。

例如:

git status app
git status spec
git status src/components

答案 15 :(得分:0)

操作系统:Windows

以下命令将显示包含“已修改:” “已重命名:” “新文件:”

git status | findstr "modified: renamed: new file:"

如果要指定文件类型:(例如*.py *.ini

git status *.py *.ini | findstr "modified: renamed: new file:"

如果您认为输入太多太多麻烦:

  1. 创建一个批处理文件(例如:st.bat

  2. 编写如下内容:

    @echo off
    :: st.bat  (this line doesn't necessarily. ( just let you know the scripts name.))
    git status %~1 | findstr "modified: renamed: new file:"
    
  3. 添加包含您的批处理文件的环境路径。 (st.bat

  4. 用法

    st.bat "*.py *.ini"
    

    (注意:如果类型> 1,则必须添加分号)

操作系统:LINUX

@Lance说您可以尝试

git status | grep modified: