首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用单个命令获取git存储库(包括子模块)中已更改文件的列表

要使用单个命令获取git存储库(包括子模块)中已更改文件的列表,可以使用以下命令:

代码语言:txt
复制
git status --porcelain

该命令会列出所有已更改的文件,包括未暂存的修改和已暂存的修改。输出结果的每一行都包含了文件的状态和路径。

对于每个文件,状态由两个字符组成。第一个字符表示暂存区(index)中的状态,第二个字符表示工作区(working tree)中的状态。常见的状态包括:

  • M:文件已修改
  • A:文件已添加到暂存区
  • D:文件已删除
  • R:文件已重命名
  • C:文件已复制
  • U:文件有冲突
  • ?:文件未跟踪

以下是一个示例输出:

代码语言:txt
复制
M  file1.txt
A  file2.txt
D  file3.txt

这表示file1.txt文件已修改,file2.txt文件已添加到暂存区,file3.txt文件已删除。

如果要仅获取已修改的文件列表,可以使用以下命令:

代码语言:txt
复制
git diff --name-only

该命令只会列出已修改的文件路径,每个文件路径占据一行。

要获取包括子模块在内的所有已更改文件的列表,可以在上述命令后面加上--recursive选项,如下所示:

代码语言:txt
复制
git status --porcelain --recursive
git diff --name-only --recursive

这样可以递归地获取所有子模块中的已更改文件列表。

这是一个简单的方法来获取git存储库中已更改文件的列表。根据具体需求,还可以使用其他git命令和选项来获取更详细的信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Git 中文参考(一)

获取多个值时,将使用来自所有文件所有值。 使用-c选项运行任何 git 命令时,可以覆盖单个配置参数。有关详细信息,请参阅 git[1]。...core.ignoreStat 如果为 true,Git 将避免使用 lstat()调用来检测文件是否更改,方法是为索引和工作树相同更新跟踪文件设置“假定未更改”位。...示例:以下将计算更改文件,同时忽略少于更改文件总量 10%目录,并在父目录累计子目录计数:files,10,cumulative。...仅包含未跟踪文件目录仅显示目录名称。显示未跟踪文件意味着 Git 需要 lstat()整个存储所有文件,这在某些系统上可能很慢。因此,此变量控制命令如何显示未跟踪文件。...“未跟踪”还将显示其工作树具有修改跟踪文件模块使用“none”(未设置此选项时默认值)还会显示在其工作树具有未跟踪文件模块更改

28320

Git 中文参考(五)

如果您希望仅影响单个存储(即,将属性分配给特定于该存储一个用户工作流文件),则应将属性放在GIT_DIR/info/attributes文件。...目前,以下操作是属性感知。 退房和登记入住 当 git checkout 和 git merge 等命令运行时,这些属性会影响存储存储内容如何复制到工作树文件。...最后,期望用刷新数据包终止第二个“key = value”对列表。过滤器可以更改第二个列表状态,或者将状态保持为空列表。请注意,无论如何,必须使用 flush 数据包终止空列表。...个人开发者(独立) 独立开发人员不会与其他人交换补丁,而是使用以下命令单独在单个存储工作。 git-init [1] 创建一个新存储。...HEAD命名您基于工作树更改提交。 FETCH_HEAD记录您使用上次git fetch调用从远程存储获取分支。

21610
  • Git 相关问题

    git pull 命令从中央存储中提取特定分支更改或提交,并更新本地存储目标分支。 git fetch 也用于相同目的,但它工作方式略有不同。...如何找到特定提交更改文件列表? 对于这个问题,不能仅仅是提供命令,还要解释这个命令究竟做了些什么。...要获取特定提交更改列表文件,请使用以下命令git diff-tree -r {hash} 给定提交哈希,这将列出在该提交更改或添加所有文件。...-r 标志使命令列出单个文件,而不是仅将它们折叠到根目录名称。 你还可以包括下面提到内容,虽然它是可选,但有助于给面试官留下深刻印象。...如何Git创建存储? 这可能是最常见问题,答案很简单。 要创建存储,先为项目创建一个目录(如果该目录不存在),然后运行命令 git init。

    2.1K10

    Git 中文参考(四)

    使用--dry-run选项,报告将修剪哪些分支,但不实际修剪它们。 update 获取由远程数据定义存储远程数据或远程组更新。。...独立克隆并随后作为子模块或旧设置添加存储在子模块内部具有子模块 git 目录,而不是嵌入到 superprojects git 目录。 默认情况下,此命令是递归。...为了确保当前跟踪分支状态,update --remote在计算 SHA-1 之前获取模块远程存储。...指定时,这将限制命令仅对指定路径上找到模块进行操作。 (添加时需要此参数)。 FILES 初始化子模块时,使用包含存储顶级目录.gitmodules文件来查找每个子模块 URL。...如果没有这些选项,该命令仅将补丁应用于文件,并且不要求它们位于 Git 存储。 此命令应用修补程序但不创建提交。

    21210

    2021年排名前85DevOps面试问答

    从GitHub将任何存储下载到您计算机git命令git clone。 17.如何使用Git文件从本地系统推送到GitHub存储?...裸存储git修订历史记录存储存储文件,而不是.git文件 19.以下哪个CLI命令可用于重命名文件?...Git获取 GitGit提取仅从远程存储下载新数据 Git pull使用来自远程服务器最新更改来更新当前HEAD分支 不会将任何新数据集成到您工作文件 下载新数据并将其与当前工作文件集成...将所有新提交合并到master分支 它为原始分支每个提交创建新提交,并重写项目历史记录 ? 25.如何找到在特定提交更改文件列表?...获取在特定提交更改文件列表命令是: git diff-tree –r {提交哈希} 示例:git diff-tree –r 87e673f21b -r标志指示命令列出单个文件 提交哈希将列出该提交更改或添加所有文件

    6.8K30

    Git中文命令大全

    存储位于本地计算机上, 则自动设置.git/objects/info/alternates为从存储获取对象将存在存储用作备用存储将需从正在克隆存储复制更少对象, 而降低网络和本地存储成本...这个选项使它无论如何检查裁判 --[no-]recurse-submodules # 使用--recurse子模块将根据超级项目中记录提交更新所有初始化模块内容 <...# 删除所有的存储条目 drop [-q|--quiet] [] # 从存储条目列表删除单个存储条目。...# 默认情况下,指向从远程存储下载对象标签将在本地​​获取存储 --refmap= # 在获取命令列出ref时,使用指定...# 名称指的是存储列表,作为配置文件远程数据值 # 指定要获取哪些引用以及哪些本地引用要更新

    24200

    Go命令官方指南【原译】

    获取签出或更新Git存储时,它还会更新存储引用任何git模块。 永远不会检出或更新存储在供应商目录代码。 有关指定包更多信息,请参阅“go help packages”。...example.org/repo或repo.gitGit存储foo / bar目录。...模块代码布局 现在,请参阅https://research.swtch.com/vgo-module,以获取有关如何将版本控制系统源代码映射到模块文件信息。...使用模块时,“all”扩展到主模块所有包及其依赖关系,包括任何这些包测试所需依赖关系。 - “std”就像扩展到标准Go包一样。 - “cmd”扩展为Go存储命令及其内部。...作为一种特殊情况,如果包列表是来自单个目录.go文件列表,则该命令将应用于由这些文件组成单个合成包,忽略这些文件任何构建约束并忽略其中任何其他文件。目录。 以“。”开头目录和文件名。

    8.1K30

    【10】进大厂必须掌握面试题-版本控制面试

    这个问题可能有两个答案,因此请确保同时包括这两个原因,因为根据情况,可以使用以下任一选项: 在新提交删除或修复错误文件,然后将其推送到远程存储。这是修复错误最自然方法。...在此脚本,可以运行其他工具,例如linters,并对提交到存储更改执行完整性检查。 Q12。您如何找到在特定提交更改文件列表?...对于此答案,而不仅仅是告诉命令,请解释此命令的确切作用,这样可以说:要获取在特定提交更改列表文件,请使用命令 git diff-tree -r {hash} 给定提交哈希,这将列出该提交更改或添加所有文件...-r标志使命令列出单个文件,而不是仅将它们折叠为根目录名称。您还可以包括以下提及要点,尽管它是完全可选,但将有助于打动面试官。...我建议您同时包括以下两个命令git branch –merged列出合并到当前分支分支。git branch –no-merged列出尚未合并分支。

    2.6K20

    Git 中文参考(六)

    使用“脏”忽略对子模块工作树所有更改,仅显示存储在超级项目中提交更改(这是 1.7.0 之前行为)。使用“all”隐藏子模块所有更改。...所有最近命令包括流注释,文件更改和进度命令)都显示在崩溃报告命令历史记录,但是从崩溃报告中排除了原始文件数据和提交消息。...命令循环显示可用命令列表,并给出提示“What now>”。通常,当提示以单个 >结束时。...这通常不会被最终用户直接使用 - 相反,请参阅 git-gc [1] 。 “delete”命令从 reflog 删除单个条目。...如果您不知道完整含义,请不要使用命令,并且无论如何都要避免使用它,如果简单单个提交就足以解决您问题。

    28410

    程序员20大Git面试问题及答案

    git pull 命令从中央存储中提取特定分支更改或提交,并更新本地存储目标分支。git fetch 也用于相同目的,但它工作方式略有不同。...如果要从隐藏项目列表删除特定存储项目,可以使用以下命令git stash list: 它将显示隐藏项目列表,如:stash@{0}: WIP on master: 049d078 added the...11.如何找到特定提交更改文件列表?对于这个问题,不能仅仅是提供命令,还要解释这个命令究竟做了些什么。...要获取特定提交更改列表文件,请使用以下命令git diff-tree -r {hash}给定提交哈希,这将列出在该提交更改或添加所有文件。...-r 标志使命令列出单个文件,而不是仅将它们折叠到根目录名称。你还可以包括下面提到内容,虽然它是可选,但有助于给面试官留下深刻印象。

    26610

    【10】进大厂必须掌握面试题-版本控制面试

    Git如何还原已经被推送并公开提交? 这个问题可能有两个答案,因此请确保同时包括这两个原因,因为根据情况,可以使用以下任一选项: 在新提交删除或修复错误文件,然后将其推送到远程存储。...在此脚本,可以运行其他工具,例如linters,并对提交到存储更改执行完整性检查。 Q12。您如何找到在特定提交更改文件列表?...对于此答案,而不仅仅是告诉命令,请解释此命令的确切作用,这样可以说:要获取在特定提交更改列表文件,请使用命令 git diff-tree -r {hash} 给定提交哈希,这将列出该提交更改或添加所有文件...-r标志使命令列出单个文件,而不是仅将它们折叠为根目录名称。 您还可以包括以下提及要点,尽管它是完全可选,但将有助于打动面试官。...我建议您同时包括以下两个命令git branch –merged列出合并到当前分支分支。 git branch –no-merged列出尚未合并分支。

    2.6K30

    2022 最新 Git 面试题

    git pull 命令从中央存储中提取特定分支更改或提交,并更新本地存储目标分支。 git fetch 也用于相同目的,但它工作方式略有不同。...如果要从隐藏项目列表删除特定存储项目,可以使用以下命令git stash list:它将显示隐藏项目列表,如: stash@{0}: WIP on master: 049d078 added...11.如何找到特定提交更改文件列表? 对于这个问题,不能仅仅是提供命令,还要解释这个命令究竟做了些什么。...要获取特定提交更改列表文件,请使用以下命令git diff-tree -r {hash} 给定提交哈希,这将列出在该提交更改或添加所有文件。...-r 标志使命令列出单个文件,而不是仅 将它们折叠到根目录名称。 你还可以包括下面提到内容,虽然它是可选,但有助于给面试官留下深刻印象。

    19410

    每个新手开发人员都必须知道8条基本Git命令

    当您按下git init命令时,git在现有目录添加一个文件夹,该文件夹管理用于版本控制所有必需文件。...以下GIF显示了初始化一个新存储和一个隐藏文件夹,其中包含版本控制所需所有数据结构。 ? ? 2.git clone git clone创建一个已经远程存在存储本地副本。...3.git add git add分阶段进行更改。 如果您完成了代码更改,则有必要对这些更改进行阶段处理,并对其进行快照保存,以将其包括存储历史记录。...$ git add 如果在多个文件中进行了更改,并且要在同一命令暂存所有文件,则请添加所有文件文件路径,并用单个空格分隔...(点) $ git add . 任何分阶段进行更改都将成为下一个快照一部分,也将成为存储历史一部分。 您还可以在单个命令设置和捕获当前更改快照,但不建议这样做。

    96610

    开发者应该知道 50 条最实用 Git 命令

    如何检查你Git配置: 下面的命令返回关于git配置信息列表包括用户名和电子邮件: git config -l 如何设置Git用户名: 使用下面的命令你可以配置你用户名: git config...git add fil* 如何Git检查存储状态: 该命令将显示当前存储状态,包括暂存、未暂存和未跟踪文件。...它将显示所有分支列表,并用星号标记当前分支,并用绿色高亮显示。 git branch 如何Git创建分支并立即切换到它: 在单个命令,您可以立即创建并切换到一个新分支。...git add remote https://repo_here 如何Git查看远程url: 使用这个命令可以查看本地存储所有远程存储: git remote -v 如何Git获取远程repo...获取更改: 如果其他团队成员正在处理您存储,您可以使用以下命令检索对远程存储所做最新更改: git pull 如何检查Git跟踪远程分支: 这个命令显示了Git正在跟踪当前存储所有远程分支名称

    1.8K10

    Git 速查表:初学者必备 12 个 Git 命令

    objects 目录:Git 对象数据。 refs 目录:存储着分支和标签引用。 index 文件:用于追踪文件更改。 logs 目录:用于记录操作信息。...您可以使用 git add 命令单个文件添加到暂存区: git add 或者,如果您有多个更改文件,您可以使用 -A 选项将它们全部添加到暂存区: git add...-A 另外,您也可以使用单个点号代替 -A 选项: git add . git commit 一旦您更改已经被暂存,就可以使用 git commit 命令将这些更改保存到 Git 仓库。...git log 命令按时间顺序显示所有提交有序列表包括作者、日期和提交信息,从最新到最旧: git log 若要按从旧到新顺序列出提交,请使用 --reverse 选项: git log --reverse...但是不要担心,它们并没有丢失,git stash 只是将这些更改放在临时存储,您可以使用 git stash pop 命令找回它们: git stash pop 在这里,pop 命令将重新应用存储

    44220

    ​2019 DevOps 必备面试题——代码版本控制篇

    文件进行必要更改后,将其提交到远程存储,我将使用git commit -m“commit message” 创建一个新提交,撤消在错误提交中所做所有更改使用命令git revert...在你答案包括以下两个选项: 如果要从头开始编写新提交消息,请使用以下命令git reset -soft HEAD~N &&  git commit 如果你想通过串接现有提交信息来编辑新提交信息...Git bisect 命令是: git bisect 接下来需要解释一下这个命令可以做什么,这个命令使用二进制搜索算法来查找项目历史哪个提交引入了一个 bug。...当检查未通过时,通过以非零状态退出,脚本能有效地阻止该提交应用于存储。 Q12:如何找到特定提交更改文件列表? 对于这个问题,不应该仅仅只解释这个命令是什么,而应该解释这个命令究竟会做什么。...所以你可以这么说,为了获得在特定提交更改文件列表使用命令git diff-tree -r {hash}  给定提交哈希值,这个命令将列出在该提交更改或添加所有文件

    2.1K50

    NumPy 1.26 中文文档(五十一)

    在本章其余部分,我们假设您根据 Git 开发描述设置了您 git 存储。...额外-a标志自动提交所有修改文件并删除所有删除文件。这可以节省您输入大量git add命令操作;但是,如果您不小心,它可能会在提交添加不需要更改。...中继续工作,那么提交将被克隆到你 fork 存储本地分支 首先确保你上游指向主要存储,参考将您存储链接到上游存储 然后,获取更改并创建一个本地分支。...额外 -a 标志会自动提交所有修改文件并删除所有删除文件。这可以节省大量输入 git add 命令;然而,如果不小心,它可能会在提交添加不需要更改。...额外-a标志会自动提交所有修改文件,并删除所有删除文件。这可以节省你大量使用git add命令输入;但是,如果不小心的话,它可能会向提交添加不必要更改

    30510

    Git三个阶段分别有哪些?每个阶段包含哪些命令

    暂存区或索引我们根据其更改为新版本准备一组文件区域HEAD它是当前分支指针,它具有完整存储历史记录每个阶段命令如下:工作目录git 命令 描述...git stash pop [stash] 删除单个隐藏状态并将其应用于当前分支 git stash apply [stash] 像 pop,但不要从存储列表删除状态.../文件夹 - 撤消 git add git reset HEAD {file} 撤消添加命令,将更改文件保留在工作目录...从另一个存储(.git/FETCH_HEAD)下载对象和引用 git pull {alias} [master] 从另一个存储获取并与主库合并...git pull [-s strategy] [-X options] [alias] [branch]使用自定义选项从另一个存储获取并合并

    1.8K00
    领券