我想获得一个只有分阶段文件名的列表.我找不到--name-only该git status命令的等效标志.什么是好的选择?
文件列表将通过管道传递给php -l(PHP lint语法检查器).
解决方案:完整的命令
git diff --name-only --cached | xargs -l php -l
Run Code Online (Sandbox Code Playgroud) 我需要一个命令,该命令可以在脚本中使用的简单列表中为我提供所有已修改的文件 -包括暂存(即新添加的文件)和未暂存的更改。虽然这个问题听起来很熟悉,但我只能找到与我想做的事情接近的命令:
git ls-files -m
Run Code Online (Sandbox Code Playgroud)
..列出(非暂存)修改,但忽略暂存和新添加的文件
git diff --name-only
Run Code Online (Sandbox Code Playgroud)
..也只会列出非分阶段的修改
git diff --name-only --cached
Run Code Online (Sandbox Code Playgroud)
.. 仅列出分段修改,但忽略具有非分段修改的文件
git status --porcelain --untracked-files=no
Run Code Online (Sandbox Code Playgroud)
..输出我想查看的所有文件,但添加状态
我git status当然可以使用cut第一个条目,但是由于我想将此命令集成到CMake脚本中,该脚本也将在Windows上使用。所以一个命令就可以了。
我想查看工作目录和索引的状态,而不是未跟踪的文件。
git-status文档http://www.kernel.org/pub/software/scm/git/docs/git-status.html告诉您-u开关将过滤未跟踪的文件。
但是下面的命令
git status -u no
Run Code Online (Sandbox Code Playgroud)
过滤未跟踪的文件,还过滤工作树和索引中跟踪文件的修改。
我正在与git一起使用,每次我检查$ git status它的显示时
# deleted: application/abe/1/index (copy).tpl
# deleted: application/abe/2/index (copy).tpl
# modified: css/mobile.css
# modified: css/work.css
Run Code Online (Sandbox Code Playgroud)
我只需要查看修改过的文件即可。不能删除文件。有什么办法吗?