📜  git 命令的 --name-status 标志 (1)

📅  最后修改于: 2023-12-03 15:30:57.181000             🧑  作者: Mango

Git 命令的 --name-status 标志

Git 是一个分布式版本控制系统,用于跟踪文件的历史记录并协作开发。其中一个常用的命令参数是 --name-status,该参数将会显示提交文件的文件名和状态。

命令格式

以下是 Git 命令的基本格式:

git diff --name-status [commit1] [commit2]    
git log --name-status [options]    
git show --name-status [commit]   
  • git diff --name-status 命令将显示两个提交之间的差异,并显示每个文件的状态。
  • git log --name-status 命令将显示某次提交和其父提交之间的所有提交,并显示其中每个文件的状态。
  • git show --name-status 命令将显示某次提交的细节,并显示其中每个文件的状态。
文件状态

以下是 Git 用于显示文件状态的缩写:

  • A: 新增文件
  • M: 修改文件
  • D: 删除文件

例如,A 表示新添加的文件,M 表示更改过的文件,D 表示已经被删除的文件。

示例

以下是示例 commit 历史记录,包含每个文件的状态:

$ git log --name-status HEAD~3..HEAD
commit 7c76db8
Author: John Smith <john@example.com>
Date:   Thu Nov 18 10:20:19 2021 -0800

    Updated README.md

M README.md

commit f5dd578
Author: John Smith <john@example.com>
Date:   Wed Nov 17 15:43:10 2021 -0800

    Added LICENSE file

A LICENSE

commit 4a5590c
Author: John Smith <john@example.com>
Date:   Tue Nov 16 11:08:51 2021 -0800

    Initial commit

A README.md
A hello.py

在上面的示例中,第一个提交修改了 README.md 文件,该文件的修改状态用 M 表示。

第二个提交添加了 LICENSE 文件,该文件的添加状态用 A 表示。

第三个提交包含了初始提交,其中 README.mdhello.py 文件的添加状态都用 A 表示。

以上是 git diffgit loggit show 命令中 --name-status 标志的用法。 它可以帮助开发者更好地了解每个提交的文件状态,以及每个文件的修改历史。